java-防止覆盖bean的bean定义

前端之家收集整理的这篇文章主要介绍了java-防止覆盖bean的bean定义 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我知道我们可以通过以下方式禁用Spring bean的重载:

GenericApplicationContext.setAllowBeanDefinitionOverriding(boolean b) 

Spring Ref

但是,我认为WebApplicationContext不是以编程方式加载的,而是通过我的web.xml文件加载的.然后,如何防止WebApplicationContext中的Spring bean溢出

最佳答案
一种方法(不是特别优雅的方法)是重写默认的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);
  }
}

猜你在找的Spring相关文章