在
Spring bean生命周期中有很多初始化选项可用.
init-method,PostConstruct注释,afterPropertiesSet,Bean后期初始化以及类构造函数.所有这些都可以用于初始化bean.
当我使用这些超过其他的时候,我感到困惑.此外,有没有一种情况我们可能需要在单个Bean中使用所有这些选项?如果是,请示例将是好的.
真的很期待得到一些很好的答案.
使用构造
函数和其他选项之间的区别是构造
函数代码是第一个要执行的
代码,而其他选项只有在将依赖关系注入到bean(来自@Autowired注释或XML
文件)之后才会被
调用.
您在构造函数中编写的代码将在bean的属性尚未启动时运行.所有@Autowired字段将为null.有时这是你想要的,但通常你希望代码在属性设置后运行.
除此之外,我看不出有什么区别,其他的执行顺序.我不认为有一个案例你想要在同一个类中的所有选项.