@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等)
1599 0
|
4月前
|
Java Spring
Spring的Bean生命周期中@PostConstruct注解
【8月更文挑战第3天】在Spring框架中,`@PostConstruct`注解标示Bean初始化完成后立即执行的方法。它在依赖注入完成后调用,适用于资源加载、属性设置等初始化操作。若方法中抛出异常,可能影响Bean初始化。与之对应,`@PreDestroy`注解的方法则在Bean销毁前执行,用于资源释放。
165 0
|
5月前
|
Java Spring
@GrpcServise 注解的作用和使用
@GrpcServise 注解的作用和使用
64 0
|
5月前
|
Java Spring
@PostConstruct注解的使用
@PostConstruct注解的使用
131 0
怎么看注解对应的处理类?
怎么看注解对应的处理类?
79 0
|
7月前
|
Java Spring 容器
ServiceLocatorFactoryBean获取Bean方法
在上述示例中,`MyService`是要获取的具体Bean的类型。通过配置 `ServiceLocatorFactoryBean`,定义 `ServiceLocator`接口和实现类,然后通过获取 `MyServiceLocator`实例并调用方法,可以从Spring容器中获取特定类型的Bean。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
96 0
获取类中所有的bean
获取类中所有的bean
50 0
|
Java 数据库 Spring
Spring中的@Transactional注解放在类上和方法上有什么不同?
Spring中的@Transactional注解放在类上和方法上有什么不同?
485 0
ControllerAdvice注解的用法
可以看出ControllerAdvice本质上是一个Component,因此也会被当做组件扫描
157 0
ControllerAdvice注解的用法