防止重写 bean 的 bean 定义

2024-05-14

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

GenericApplicationContext.setAllowBeanDefinitionOverriding(boolean b) 

弹簧参考 http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/support/GenericApplicationContext.html#setAllowBeanDefinitionOverriding%28boolean%29

但是,我认为 WebApplicationContext 不是以编程方式加载的,而是通过我的 web.xml 文件加载的。那么,如何防止WebApplicationContext中Spring bean的overring


一种不是特别优雅的方法是覆盖默认的 WebApplicationContext。在 web.xml 中:

<context-param>
  <param-name>contextClass</param-name>
  <param-value>my.package.MyWebApplicationContext</param-value>
</context-param>

where

public class MyWebApplicationContext extends XmlWebApplicationContext {
  public MyWebApplicationContext() {
    super();
    this.setAllowBeanDefinitionOverriding(false);
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

防止重写 bean 的 bean 定义 的相关文章

随机推荐