是否可以将外部bean配置xml文件导入resources.groovy?

时间:2012-03-22 14:11:30

标签: spring grails

在我目前的grails应用程序中,我在resources.groovy中定义了spring bean。现在我还有一个已经定义了一堆bean的xml文件,我想按原样使用它们,而不是重新创建bean dsl中的每个bean。

这有可能吗? grails bean dsl中是否有等效的xml导入标记? 我想在applicationContext.xml中添加import ...但是我不确定它是否适合这样做。

提前致谢,

菲利普

3 个答案:

答案 0 :(得分:11)

您可以使用

将XML文件中的bean导入resources.groovy
beans = {
    importBeans('classpath:/applicationContext-services.xml')
}

答案 1 :(得分:2)

您可以将其重命名为resources.xml并将其放在同一文件夹中。仍然支持xml版本,但它不会像Groovy版本那样自动创建。

答案 2 :(得分:1)

为了让这个能够用于grails 1.3.7我实际上必须做这样的事情;

beans {

   switch(Environment.current) {

      case Environment.DEVELOPMENT:
         importBeans('file:grails-app/conf/spring/messaging.xml')
         break
      default:
         importBeans 'classpath*:WEB-INF/spring/messaging.xml'
         break
   }

}

我在类路径之后需要*,以便在应用程序服务器中运行时获取它。虽然因此是不同的访问者,但它在开发中不起作用

有关匹配语法的文档,请参阅http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/core/io/support/PathMatchingResourcePatternResolver.html