我正在尝试在我的插件中注册一个bean,但该bean的类(实现)是可配置的。
在我的TestGrailsPlugin.groovy文件中:
def doWithSpring = {
userListener("${ConfigurationHolder.config.userListenerClass}")
}
但这不起作用!我该怎么办,我想应该是非常容易的任务。但没有找到任何地方!
欢呼声
答案 0 :(得分:2)
您可以使用GrailsApplication
的类加载器动态加载类:
def doWithSpring = {
def clazz = application.classLoader.loadClass(application.config.userListenerClass)
userListener(clazz)
}
另请注意,我使用application.config
而不是使用持有者类 - 持有者在2.0中已弃用,将在以后的版本中删除。