我在尝试确定我的咖啡豆是否已正确加载时遇到了一些问题。 是否有一些log4j属性可以在日志中显示正确加载的bean?。
经过一番尝试后,我开始尝试here
中的另一个例子重新定义我的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已加载,因为它们似乎永远不会被调用。 在另一种情况下,我得到以下错误。
有什么建议吗?
答案 0 :(得分:4)
只需写
beans = {
ldapUserDetailsMapper(example.CustomDetailsContextMapper) {
}
已经为您定义了BeanBuilder
使用时调用bean ...在控制器内部尝试
VeryBeanController{
def ldapUserDetailsMapper
def index = {
render( ldapUserDetailsMapper )
}
}
并致电控制器