@PostConstruct注解作用

简介: @PostConstruct注解作用

@PostConstruct注解的方法将会在依赖注入完成后被自动调用。
举个栗子:

@Component
public class A {
 
    @Autowired
    private B b;
 
    public A() {
        System.out.println("执行A的构造方法,此时b还未被注入: b = " + b);
    }
 
    @PostConstruct
    private void init() {
        System.out.println("@PostConstruct将在依赖注入完成后被自动调用: b = " + b);
    }
}
 
@Component
public class B {
    public B(){
        System.out.println("执行B的构造方法");
    }
}

测试类:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:application-context.xml"})
public class MessageTest {
 
    @Resource
    A a;
 
    @Test
    public void testAB(){
    }
}

执行testAB()方法结果:

执行A的构造方法,此时b还未被注入: b = null
执行B的构造方法
@PostConstruct将在依赖注入完成后被自动调用: b = com.nss.B@51841ac6

通过以上结果可以看出:被@PostConstruct注解的方法将在该类中所有注入操作完成之后执行。

目录
相关文章
|
Java 微服务 Spring
@EnableDiscoveryClient注解的作用
@EnableDiscoveryClient注解的作用 @EnableDiscoveryClient 及@EnableEurekaClient 类似,都是将一个微服务注册到Eureka Server(或其他 服务发现组件,例如Zookeeper、Consul等)
1544 0
|
2月前
|
Java Spring
Spring的Bean生命周期中@PostConstruct注解
【8月更文挑战第3天】在Spring框架中,`@PostConstruct`注解标示Bean初始化完成后立即执行的方法。它在依赖注入完成后调用,适用于资源加载、属性设置等初始化操作。若方法中抛出异常,可能影响Bean初始化。与之对应,`@PreDestroy`注解的方法则在Bean销毁前执行,用于资源释放。
|
3月前
|
Java Spring
@GrpcServise 注解的作用和使用
@GrpcServise 注解的作用和使用
33 0
|
3月前
|
Java Spring
@PostConstruct注解的使用
@PostConstruct注解的使用
36 0
|
10月前
|
Java Spring
Spring中那些BeanPostProcessor在Bean实例化过程中的作用
Spring中那些BeanPostProcessor在Bean实例化过程中的作用
127 1
怎么看注解对应的处理类?
怎么看注解对应的处理类?
64 0
|
Java Spring
Spring 如何通过反射获取controller 包下所有的类,以及类上的注解
Spring 如何通过反射获取controller 包下所有的类,以及类上的注解
289 0
|
Java
java注解(作用于注解)
java注解(作用于注解)
115 0
|
Java 数据库 Spring
Spring中的@Transactional注解放在类上和方法上有什么不同?
Spring中的@Transactional注解放在类上和方法上有什么不同?
313 0
ControllerAdvice注解的用法
可以看出ControllerAdvice本质上是一个Component,因此也会被当做组件扫描
148 0
ControllerAdvice注解的用法