@PostConstruct这种方式注入bean,如何更新
时间: 2023-08-16 21:16:09 浏览: 100
根据提供的引用内容,@PostConstruct注解用于在依赖注入完成后执行初始化操作的方法上。它会在类被放入服务之前被调用。然而,在BeanFactoryPostProcessor中使用@PostConstruct注解可能会导致失效。\[1\]这可能是由于BeanFactoryPostProcessor在Bean的实例化和初始化之前执行,因此@PostConstruct注解可能无法正常工作。\[2\]
如果你想在所有BeanDefinition注册完成后执行某些操作,你可以考虑使用单独的Bean来处理。这样可以确保在所有Bean被实例化和初始化之后再执行相应的逻辑。\[1\]
如果你想更新使用@PostConstruct注解注入的Bean,你可以考虑使用其他方式,如使用BeanPostProcessor接口来处理Bean的初始化逻辑。BeanPostProcessor接口提供了在Bean实例化和初始化过程中进行自定义处理的方法。你可以实现这个接口,并在postProcessBeforeInitialization或postProcessAfterInitialization方法中进行相应的操作。\[3\]这样可以确保在Bean的初始化过程中进行更新操作。
#### 引用[.reference_title]
- *1* *2* [@PostConstruct 失效之(Bean实现了BeanFactoryPostProcessor)](https://blog.csdn.net/qq_41653935/article/details/124092601)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [spring @PostConstruct以及循环依赖的bean](https://blog.csdn.net/weixin_45594127/article/details/121809206)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文