- @PostConstruct注解的基本概念
- @PostConstruct是 Java EE 5 引入的一个注解,用于在依赖注入完成之后,在对象的初始化阶段调用一个方法。它通常用于在 Spring 等容器管理的 Bean 中进行初始化操作。
- @PostConstruct的基本用法
- 在服务启动后会自动执行
当一个被容器管理的 Bean(例如在 Spring 框架中)被实例化并且其依赖注入完成后,被@PostConstruct注解标记的方法会自动执行。
对于基于 Spring Boot 的服务来说,在服务启动过程中,当 Spring 容器完成 Bean 的创建和依赖注入步骤后,带有@PostConstruct注解的方法会被调用。这个过程是自动触发的,不需要手动干预。
例如,假设你有一个简单的 Spring Boot 服务,有一个如下的 Bean:
- 在服务启动后会自动执行
import javax.annotation.PostConstruct;
import org.springframework.stereotype.Component;
@Component
public class MyBean {
@PostConstruct
public void init() {
System.out.println("This method is called after the bean is instantiated and dependencies are injected.");
}
}
当 Spring Boot 服务启动时,一旦MyBean这个 Bean 被创建并且其依赖(如果有的话)被注入,init方法就会自动执行,控制台会输出This method is called after the bean is instantiated and dependencies are injected.。
小结
在服务启动后,被@PostConstruct注解标记的方法会在 Bean 初始化阶段自动执行,前提是这个 Bean 是由容器管理的,并且容器完成了 Bean 的创建和依赖注入流程。