我有一个Grails应用程序,在我的resources.groovy文件中配置了Spring bean。我想知道是否可以从文件系统上的外部源导入我的bean配置,但仍然保持它们的Groovy DSL风格。
我知道可以从XML文件导入bean配置,详见本文" Is it possible to import an external bean configuration xml file into resources.groovy?"但想知道如何使用Groovy DSL bean配置。
答案 0 :(得分:11)
使用Groovy DSL看起来可能与导入Spring XML配置文件的方式非常相似。
This post对如何实现它有很好的解释。
只需将外部spring配置导入resources.groovy文件,如下所示:
beans = {
importBeans('file:grails-app/conf/spring/common.xml')
importBeans('file:grails-app/conf/spring/job-definitions.xml')
importBeans('file:grails-app/conf/spring/integration.groovy')
// ...
}
然后您的integration.groovy文件看起来应该是这样的。
beans {
myBean(MyBean) { bean ->
property1 = 123
property2 = "abc"
}
}
请注意,在导入的弹簧文件中,=
后面没有beans
符号,这一点非常重要。如果指定beans = { ..... }
,则不会导入您的bean。