Load spring beans from custom groovy files in grails app

前端 未结 4 1985
天命终不由人
天命终不由人 2021-01-17 23:46

Trying to load spring beans from custom groovy file in Grails 2.3.7. I know this question has been asked before, but after hours of searching, I\'m unable to fi

相关标签:
4条回答
  • 2021-01-18 00:15

    If your resources.groovy is at following path

    grails-app/conf/spring/resources.groovy
    

    and your camel-beans.groovy is at following path

    grails-app/conf/spring/camel-beans.groovy
    

    then you can reference camel-beans.groovy in resources.groovy file by adding following line in resources.groovy

    importBeans('file:**/camel-beans.groovy')
    
    0 讨论(0)
  • 2021-01-18 00:17

    I had the same problem with custom XML files in Grails 2.1.2.

    Having XML resources in grails-app/conf/spring didn't work in production environment AFAIR.

    To make it working both in development and production environments I finally put the resources into src/java. I think you can achieve the same result by putting your groovy files into src/groovy.

    0 讨论(0)
  • 2021-01-18 00:36

    I had a similar problem just a few days ago, with a groovy configuration file that I added into grails-app/conf. While this works with other resources (they are copied and available on the classpath), the problem with the groovy file was simply that it was compiled and the class file was included, i.e. not the groovy file itself.

    I didn't find any good documentation on how this should be done and finally just added it to web-app/WEB-INF/classes. Groovy files placed here will be copied (not compiled) and available on the classpath.

    0 讨论(0)
  • 2021-01-18 00:39

    We can import beans from different groovy/xml file in the following way too : - use the following in resources.groovy -

    importBeans 'file:camel-beans.groovy' OR importBeans('classpath:/camel-config.xml')

    Place camel-beans.groovy along with resources.groovy and provide package as "package spring" for first case, otherwise put it in web app classpath and use the second way to do it.

    0 讨论(0)
提交回复
热议问题