我希望在我的一个bean中使用@PostInitialize注释来在初始化完成后加载一些属性。有人可以告诉我在哪里可以找到这个注释吗?我需要添加什么maven依赖来获取此注释?为什么这不是Spring 3.2.4的一部分,或者我错过了一些我应该添加的弹簧包?
请告知
更新
我尝试过使用resthubs @PostInitialize,但它不起作用。我是否必须执行任何其他配置才能使此注释生效。
答案 0 :(得分:2)
我认为你的意思是@PostConstruct
。
从3.2.4 reference手册
JSR-250 @PostConstruct和@PreDestroy注释通常被认为是在现代Spring应用程序中接收生命周期回调的最佳实践。使用这些注释意味着您的bean不会耦合到Spring特定的接口。
答案 1 :(得分:1)
您要求的是Spring改进请求https://jira.spring.io/browse/SPR-5966中的补丁。
答案 2 :(得分:0)
RestHub有一个@PostInitialize注释。结帐Resthub @GitHub或Resthub API。
<dependency>
<groupId>org.resthub</groupId>
<artifactId>resthub-common</artifactId>
<version>2.1.0</version>
</dependency>
答案 3 :(得分:0)
@PostInitialize 和 @PostConstruct 不同。
在大多数情况下,您可以使用 @PostConstruct 。
BUT!
@PostContruct 它不是通过弹簧代理调用的,例如 @Transactional 不能使用 @PostConstruct 强>
由于这些情况发明了 @PostInitialize ,这是在上下文刷新后调用的,它将通过代理调用,因此 @Transactional 将使用它。
默认情况下,Spring没有 @PostInitialize (因为懒惰的初始化bean),但你可以添加这个依赖项,你将拥有它:
<dependency>
<groupId>fr.zebasto</groupId>
<artifactId>spring-postinitialize</artifactId>
<version>1.4.0</version>
</dependency>
在此处查找更多信息:https://github.com/bcecchinato/spring-postinitialize