这里我在Spring MVC应用程序中初始化了InitializingBean
。要在spring-servlet application context
中注册,请在下面输入两行代码:
@Autowired
private ApplicationContext context;
@Override
public void afterPropertiesSet() throws Exception {
if (context.getParent() != null) { // debug mode and add a breakpoint here, four times came here while application start up
}
}
显然,如果四个根应用程序上下文初始化,一些错误。但我真的不知道为什么?
我在这里做一些假设:
contextConfigLocation
文件中的web.xml
是 classpath *:,tomcat可能会检测到classpath jar文件下的多个applicationContext.xml
文件。(但是spring xml文件确实是没有找到这样的jar文件)也许我完全错了,希望有人能给我一些暗示和感谢。
答案 0 :(得分:0)
启动tomcat时,web.xml中的标记,具体而言,您的代码将检测您编写的配置,如果此文件中有任何标记,则启动Spring容器,例如Application-Context.xml, Spring会添加你编写的文件,例如,在你的标签中写“Application-context-data.xml”,Spring容器会启动它!