2012-03-22 14 views
5

W mojej obecnej aplikacji grails, mam ziarna fasoli zdefiniowane w resources.groovy. Teraz mam również plik xml z wiązką ziaren już zdefiniowanych i chciałbym użyć ich tak jak jest, zamiast odtwarzać każdy pojedynczy komponent bean w komponencie bean dsl.Czy można zaimportować plik xml konfiguracji komponentu bean zewnętrznej do resources.groovy?

Czy to w ogóle możliwe? Czy istnieje odpowiednik znacznika importu xml w grails bean dsl? Myślałem o dodaniu importu ... w applicationContext.xml, ale nie jestem pewien, czy to właściwe miejsce.

Dzięki z góry,

Philippe

Odpowiedz

11

Można importować fasolę w pliku XML do resources.groovy użyciu

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

Nie mogłem zmusić tego do pracy ... czy muszę to zrobić w istniejącym zamknięciu fasoli, czy po nim? – Philippe

+0

Zaktualizowałem moją odpowiedź –

+0

Nadal nie mogę sprawić, żeby to działało z tym ... żadna z fasoli w moim pliku xml nie została załadowana. – Philippe

2

Możesz zmienić jego nazwę na resources.xml i umieścić go w tym samym folderze. Wersja xml jest nadal obsługiwana, ale nie jest automatycznie tworzona tak, jak wersja Groovy.

+0

Dzięki. Wiedziałem, że nadal mogę to zrobić, ale pomyślałem, że nie mogę współistnieć resources.groovy i resources.xml. Wygląda na to, że jest to możliwe ... – Philippe

1

Aby uzyskać to do pracy na Grails 1.3.7 I rzeczywiście musiał zrobić coś takiego;

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 
    } 

} 

Potrzebowałem elementu * po ścieżce klas, aby można go było pobrać podczas działania na serwerze aplikacji. Nie działa w fazie rozwoju, dlatego różne akcesoria do niego

Zobacz dokumentację na temat zgodnej składni w dokumencie .

Powiązane problemy