永远不会调用WebApplicationInitializer的onStartup方法

时间:2018-02-12 15:52:39

标签: spring grails

我有一个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" 方法调用。

1 个答案:

答案 0 :(得分:0)

在我的情况下,我使用application.yml并且它在dev环境中工作但是在使用prod配置文件将其打包成战争之后,由于某种原因它停止了我的注释@Configuration

解决方案是按照另一个question

中的建议修改Application.groovy
@ComponentScan("my.package")
class Application extends GrailsAutoConfiguration {
...
}

注意:在文档中推荐的packageNames()中覆盖Application.groovy也不起作用。