我有一个Grails应用程序。我正在尝试使用onStartup
的{{1}}方法设置活动的Spring配置文件。
我用WebApplicationInitializer
注释了这个Java类,但@Configuration
方法永远不会被调用。
onStartup
我已添加package my.package;
@Configuration
public class MyWebApplicationInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setInitParameter("spring.profiles.active", "test");
}
}
,
Config.groovy
我还尝试在resources.groovy
中添加以下代码grails.spring.bean.packages = ['my.package']
但无论代码如何变化,我都会尝试xmlns context: "http://www.springframework.org/schema/context"
context."component-scan" "base-package": "my.package"
方法调用。
答案 0 :(得分:0)
在我的情况下,我使用application.yml
并且它在dev
环境中工作但是在使用prod
配置文件将其打包成战争之后,由于某种原因它停止了我的注释@Configuration
。
解决方案是按照另一个question:
中的建议修改Application.groovy
@ComponentScan("my.package")
class Application extends GrailsAutoConfiguration {
...
}
注意:在文档中推荐的packageNames()
中覆盖Application.groovy
也不起作用。