我在尝试实际确定我的bean是否已正确装入时遇到一些问题。
是否有一些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是否已加载,因为它们似乎从未被调用过。
在另一种情况下,我得到以下错误。
有什么建议么?
最佳答案
在resource.groovy中只需写
beans = {
ldapUserDetailsMapper(example.CustomDetailsContextMapper) {
}
BeanBuilder已经为您定义
使用时调用一个bean ...在 Controller 内部尝试
VeryBeanController{
def ldapUserDetailsMapper
def index = {
render( ldapUserDetailsMapper )
}
}
并 call Controller
关于grails - Grails resources.groovy bean ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12857815/