追风赶月莫停留,平芜尽处是春山。这篇文章主要讲述永远不会调用WebApplicationInitializer的onStartup方法相关的知识,希望能为你提供帮助。
我有一个Grails应用程序。我试图通过使用onStartup
的WebApplicationInitializer
方法设置一个活跃的Spring配置文件。我用@Configuration
注释了这个java类,但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
我添加了,grails.spring.bean.packages = ['my.package']
我还尝试在resources.groovy中添加以下代码
xmlns context: "http://www.springframework.org/schema/context"
context."component-scan" "base-package": "my.package"
但无论代码如何变化,我都会尝试使用
onStartup
方法。答案在我的情况下,我使用
application.yml
并且它在dev
环境中工作但是在使用prod
配置文件将其打包成战争之后,由于某种原因它停止拿起我用@Configuration
注释的java配置。【永远不会调用WebApplicationInitializer的onStartup方法】解决方案是按照另一个
Application.groovy
的建议修改question:@ComponentScan("my.package")
class Application extends GrailsAutoConfiguration {
...
}
注意:在文档中推荐的
packageNames()
中覆盖Application.groovy
也不起作用。推荐阅读
- Grails App中的双重分页问题
- 在Websphere Application Server上的应用程序启动时未调用MDB的ejbCreate()方法
- Google App Engine Docker容器502错误网关
- 带有SpannableString的Android Canvas drawText
- Linux到Android蓝牙网络共享(PAN)
- Android(在服务中使用网络)
- 邮件发送到.herokuapp.com域
- Facebook AppRequests +浏览器兼容性
- Android中SVG和VectorDrawable的区别