Spring grails插件动态bean创建

Spring grails插件动态bean创建,spring,grails,groovy,Spring,Grails,Groovy,我试图在我的插件中注册一个bean,但是该bean的类(实现)是可配置的 在我的TestGrailsPlugin.groovy文件中: def doWithSpring = { userListener("${ConfigurationHolder.config.userListenerClass}") } 但这是行不通的!我想我该怎么做真的很容易。但是我哪儿也没找到 干杯您可以使用GrailsApplication的类加载器动态加载类: def doWithSpring = {

我试图在我的插件中注册一个bean,但是该bean的类(实现)是可配置的

在我的TestGrailsPlugin.groovy文件中:

def doWithSpring = {
    userListener("${ConfigurationHolder.config.userListenerClass}")
}
但这是行不通的!我想我该怎么做真的很容易。但是我哪儿也没找到


干杯

您可以使用
GrailsApplication
的类加载器动态加载类:

def doWithSpring = {
   def clazz = application.classLoader.loadClass(application.config.userListenerClass)
   userListener(clazz)
}
还请注意,我使用的是
application.config
而不是holder类-holder在2.0中已被弃用,并将在未来的版本中删除