防止覆盖 Bean 的 Bean 定义



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

GenericApplicationContext.setAllowBeanDefinitionOverriding(boolean b) 

春季参考

但是,我认为WebApplicationContext不是以编程方式加载的,而是通过我的web.xml文件加载的。那么,如何防止 Web 应用程序上下文中春豆的覆盖

一种不是特别优雅的方式是覆盖默认的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);
  }
}

最新更新