Spring @PostConstruct与init-method属性
使用@PostConstruct
注释和声明与init-method
Spring XML配置中相同的方法之间有什么区别吗?
回答:
实际上,我不认为没有任何区别,但是它们的工作方式存在优先级。@PostConstruct,init-method是BeanPostProcessors。
@PostConstruct
是JSR-250注释,而init-methodSpring
是具有初始化方法的方法。- 如果有
@PostConstruct
方法,将在调用初始化方法之前先调用此方法。 - 如果你的bean实现的
InitializingBean
和覆盖afterPropertiesSet
,首先@PostConstruct
被调用,然后afterPropertiesSe
t再init-method
。
有关更多信息,你可以查看Spring的参考文档。
在JSR 250规范之前,在xml中使用init-method是首选方式,因为它可以将Java类(bean)与任何特定于Spring的类/注释分离。因此,如果你要构建不需要依赖Spring基础结构bean的库,那么在创建方法期间,你可以指定需要称为初始化方法的方法。
现在,随着Java EE中的JSR 250规范的引入和这些注释的Spring支持,对Spring框架的依赖性已在一定程度上降低了。
但是我不得不承认,添加这些东西可以提高代码的可读性,因此两种方法都有其优缺点。
以上是 Spring @PostConstruct与init-method属性 的全部内容, 来源链接: utcz.com/qa/433086.html