@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等)
1571 0
|
1月前
|
存储 Java 数据库连接
@OneToOne注解的作用
@OneToOne注解的作用
|
4月前
|
Java Spring
@GrpcServise 注解的作用和使用
@GrpcServise 注解的作用和使用
54 0
|
4月前
|
Java Spring
@PostConstruct注解的使用
@PostConstruct注解的使用
103 0
|
11月前
|
Java Spring
Spring中那些BeanPostProcessor在Bean实例化过程中的作用
Spring中那些BeanPostProcessor在Bean实例化过程中的作用
164 1
怎么看注解对应的处理类?
怎么看注解对应的处理类?
70 0
|
Java Spring
Spring 如何通过反射获取controller 包下所有的类,以及类上的注解
Spring 如何通过反射获取controller 包下所有的类,以及类上的注解
306 0
|
Java
java注解(作用于注解)
java注解(作用于注解)
119 0
|
Java 数据库 Spring
Spring中的@Transactional注解放在类上和方法上有什么不同?
Spring中的@Transactional注解放在类上和方法上有什么不同?
434 0
ControllerAdvice注解的用法
可以看出ControllerAdvice本质上是一个Component,因此也会被当做组件扫描
151 0
ControllerAdvice注解的用法