Java

前言

@PostConstructJava EE5中引入的,其用于需要在依赖注入完成后执行任何初始化的方法,且只会被执行一次,该注解在Java 11中已删除,继续使用需要添加依赖项:

<dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
    <version>1.3.2</version>
</dependency>

关于@PostConstruct

简单例子,构造函数被调用时,Bean尚未初始化导致空指针异常。

在这里插入图片描述


为什么使用@PostConstruct?

  • 在构造函数中,尚未发生依赖项的注入,而在托管Bean中,@PostConstruct在对象构造函数之后调用。

为什么要使用@PostConstruct由Bean初始化,而不是构造函数本身?

  • 当构造函数被调用时,Bean尚未初始化(没有依赖项被注入),而在@PostConstruct方法中,Bean已完全初始化,可以使用依赖项。

在这里插入图片描述


@PostConstruct注解的方法在初始化中的执行顺序

  • Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的方法)

- End -
梦想是咸鱼
关注一下吧
以上为本篇文章的主要内容,希望大家多提意见,如果喜欢记得点个推荐哦
作者:Maggieq8324
本文版权归作者和博客园共有,欢迎转载,转载时保留原作者和文章地址即可。
原文地址:https://www.cnblogs.com/maggieq8324/p/15188775.html