我需要在 grails 中动态配置 spring bean 并将配置保存在项目中,以便在服务器重新启动后更改的配置不会丢失。
是否可以通过使用spring DSL或其他方式来做到这一点?Spring XML 不适合我。
我假设您想在应用程序启动后将 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