我试图在我的插件中注册一个bean,但是该bean的类(实现)是可配置的。
在我的TestGrailsPlugin.groovy文件中:
def doWithSpring = {
userListener("${ConfigurationHolder.config.userListenerClass}")
}
但这不起作用!我该怎么办,我想应该是一件容易的事。但没有发现任何地方!
干杯
最佳答案
您可以使用GrailsApplication
的classloader动态加载该类:
def doWithSpring = {
def clazz = application.classLoader.loadClass(application.config.userListenerClass)
userListener(clazz)
}
还要注意,我使用的是
application.config
而不是holder类-在2.0中不推荐使用holder,并且在以后的版本中将删除它们。
关于spring - grails插件动态bean创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6604990/