java - 我可以处理的 Spring 回调

标签 java spring

在Spring文档中提到了许多生命周期步骤:容器和bean(见下图)。但是当我开始寻找注释(要实现的接口(interface))时,我找不到任何东西,除了:

  1. @PostConstruct 和 @PreDestroy 回调
  2. 自定义 BeanPostProcessor 实现
  3. 自定义 BeanFactoryPostProcessor 实现

如果我正确理解这些图片,我可以使用:

  • BPP 通过 BeanPostProcessor 的自定义实现来回调容器生命周期
  • init-methoddestroy 来自 bean 生命周期的回调。

问题:

如果我只能使用容器和 bean 生命周期的 3 个回调。下面的信息有什么用? 我的意思是为什么我应该知道所有这些生命周期步骤,如果我无法从他们身上获利。 我可能忘记了一些可以使用的回调吗?

容器生命周期: enter image description here

bean 生命周期: enter image description here

最佳答案

我认为您错过了图中提到的所有*Aware接口(interface)(主要来自org.springframework.beans.factory包):

  • BeanNameAware
  • BeanFactoryAware
  • ApplicationContextAware
  • 初始化Bean
  • 一次性Bean

每当您的 bean 实现这些接口(interface)之一时,Spring 就会在相应的生命周期步骤中调用它们的方法。

关于java - 我可以处理的 Spring 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21164547/

相关文章:

带有类选择器的javaFX css id选择器不起作用

java - 在spring中获取工厂类的servletcontext

java - 关闭当前窗口并弹出上一个窗口(windowListener)

java - 在java桌面应用程序中将图像文件保存到本地系统

java - 获取 EntityManagerFactory 的最佳实践

java - 所有 Spring-Boot 应用程序始终显示弹出登录信息

java - ignite 不会随 spring-boot 2.0.5 启动 - h2 属性 NESTED_JOINS 不存在

java - Tomcat 已启动但未创建数据库表且本地主机为 :8080 shows "HTTP Status 404"

java - Spring @ConditionalOnProperty havingValue = "value1"或 "value2"

java - Gradle项目中的Gradle项目?