2011-07-07 62 views
1

我想在我的插件中註冊一個bean,但該bean的類(實現)是可配置的。grails插件動態bean創建

在我TestGrailsPlugin.groovy文件:

def doWithSpring = { 
    userListener("${ConfigurationHolder.config.userListenerClass}") 
} 

,但是這是不工作!我該怎麼做,我猜應該是非常容易的任務。但沒有找到任何地方!

歡呼

回答

2

您可以用GrailsApplication的類加載器動態加載類:

def doWithSpring = { 
    def clazz = application.classLoader.loadClass(application.config.userListenerClass) 
    userListener(clazz) 
} 

另外請注意,我用application.config,而不是使用holder類 - 持有人以2.0棄用並將在未來的版本中刪除。