2012-03-22 103 views
5

在我當前的grails應用程序中,我在resources.groovy中定義了spring bean。現在我也有一個已經定義了一堆bean的xml文件,我想按原樣使用它們,而不是重新創建bean dsl中的每個bean。是否可以將外部bean配置xml文件導入到resources.groovy中?

這可能嗎?在grails bean dsl中是否有等價的xml import標籤? 我想過在applicationContext.xml中添加import ...但我不確定這是否正確。

由於提前,

菲利普

回答

11

可以使用

beans = { 
    importBeans('classpath:/applicationContext-services.xml') 
} 
+0

我無法得到這個工作...我必須在現有的豆關閉內或之後做到這一點? – Philippe 2012-03-22 17:53:13

+0

我已經更新了我的答案 – 2012-03-22 19:55:57

+0

仍然無法使它與那個一起工作......我的xml文件中的所有bean都無法加載。 – Philippe 2012-03-23 14:00:20

2

您可以將其重命名爲resources.xml,並把它放在同一個文件夾。 xml版本仍然受支持,但不會像Groovy版本那樣自動創建。

+0

謝謝。我知道我仍然可以這樣做,但我認爲我無法使resources.groovy和resources.xml共存。它似乎有可能... – Philippe 2012-03-22 17:51:14

1

爲了得到這個對Grails的1.3.7工作,我其實不得不做這樣的事情進口豆在一個XML文件到resources.groovy;

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

相關問題