spring - grails插件动态bean创建

标签 spring grails groovy

我试图在我的插件中注册一个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/

相关文章:

java - SecureRandom 的创建很慢,即使在 Java 8 中也是如此

grails - 将外部JAR添加到Grails应用程序

sorting - 按字符串列表中的ID对对象列表进行排序

jenkins - 如何从参数值替换jenkins job scm内的github分支

java - 解析的 Groovy 脚本的(反)序列化

java - 字符串到日期转换的问题

java - 是否可以在一个 spring 容器中运行带有 spring security 的 spring webmvc webapp?

java - Hibernate一对多映射注释问题

java - Spring WebFlux WebClient - 如何解决 400 错误请求

spring - Grails服务和Spring任务调度