Spring InitializingBean接口

时间:2013-01-27 11:24:33

标签: spring spring-ioc

在Spring的XML文件中,我们有两个不同id但同一类的bean。他们有相同的财产。现在我有InitializingBean接口,在afterPropertySet()我只是打印属性的值。

它为我打印两次值?

2 个答案:

答案 0 :(得分:0)

根据Spring Documentation

  

afterPropertySet()

     

在BeanFactory设置了所有提供的bean属性(并且满足BeanFactoryAware和ApplicationContextAware)之后调用它。

所以你问题的简短回答是:

Spring不会操纵类或对象。 Spring操纵Bean Entity。它是Spring IOC操纵的最简单的对象。 Bean还有Spring引入的其他行为规则。

如果您创建两个bean,例如使用Singleton范围,而不是Lazy初始化,则Spring会创建两个类的实例。

答案 1 :(得分:0)

可能您正在调用Class的同时也调用了Test或通过像这样启动集成测试。检查断点,如果您使用的是SpringRunner,请尝试模拟组件