我需要动态配置grails中的spring bean并在项目中保存配置,以便在服务器重新启动后更改配置不会丢失。
是否可以通过使用spring DSL或其他方式来实现? Spring XML不适合我。
答案 0 :(得分:2)
我假设你想在应用程序启动后动态地将bean注册到applicationContext。
您可以使用以下代码执行此操作:
def grailsApplication
...
def beanDef = new GenericBeanDefinition(beanClass: MyBean,
autowireMode:AbstractBeanDefinition.AUTOWIRE_BY_NAME)
String beanName = '...'
grailsApplication.mainContext.registerBeanDefinition beanName, beanDef
您还可以指定bean范围(例如,如果它是原型bean),并在注册之前在GenericBeanDefinition中设置其他属性。
来源http://grails.1312388.n4.nabble.com/Apache-Commons-IO-2-0-1-td3307531.html#a3307950