我知道我们可以通过以下方式禁用spring beans的重载:
GenericApplicationContext.setAllowBeanDefinitionOverriding(boolean b)
但是,我认为WebApplicationContext没有以编程方式加载,而是通过我的web.xml文件加载。那么,我如何防止在WebApplicationContext
中覆盖Spring bean答案 0 :(得分:3)
一种,不是特别优雅的方式是覆盖默认的WebApplicationContext。在web.xml中:
<context-param>
<param-name>contextClass</param-name>
<param-value>my.package.MyWebApplicationContext</param-value>
</context-param>
,其中
public class MyWebApplicationContext extends XmlWebApplicationContext {
public MyWebApplicationContext() {
super();
this.setAllowBeanDefinitionOverriding(false);
}
}