1

我在尝试确定我的 bean 是否已正确加载时遇到了一些问题。是否有一些 log4j 属性可以在日志中向我显示正确加载的 bean?

经过一番尝试后,我开始尝试从这里开始的另一个示例

重新定义我的 resources.groovy 如下:

import grails.spring.BeanBuilder
BeanBuilder bb = new BeanBuilder()
bb.beans = {
    ldapUserDetailsMapper(example.CustomDetailsContextMapper) {
    }
}

CustomDetailsContextMapper 又被定义为:

class CustomDetailsContextMapper implements UserDetailsContextMapper {
def springSecuritySource

@Override
public UserDetails mapUserFromContext(DirContextOperations ctx, String username, Collection authorities) {

这是我在使用这种 resource.groovy 设置时遇到的错误:

2012-10-12 12:52:31,663 [main] ERROR spring.GrailsRuntimeConfigurator  - [RuntimeConfiguration] Unable to load beans from resources.groovy
org.codehaus.groovy.runtime.metaclass.MissingPropertyExceptionNoStack: No such property: beans for class: resources
Possible solutions: class

当不使用 beanbuilder 时,我没有收到任何错误,但我无法真正验证我的 bean 是否已加载,因为它们似乎从未被调用过。在另一种情况下,我收到以下错误。

有什么建议么?

4

1 回答 1

4

在 resource.groovy 中简单地写

beans = {
    ldapUserDetailsMapper(example.CustomDetailsContextMapper) {
    }

已经为您定义了 BeanBuilder

使用时调用 bean... 在控制器中尝试 thi

VeryBeanController{

    def ldapUserDetailsMapper

    def index = {

       render( ldapUserDetailsMapper  )

    }

}

并调用控制器

于 2012-10-12T12:31:45.707 回答