• @PostConstruct注解


    @PostConstruct注解

    @PostConstruct注解是javax.annotation包下的一个注解,用于标记一个方法,在构造函数执行之后,依赖注入(如@Autowired,意味着在方法内部可以安全地使用依赖注入的成员变量,而不会出现空指针异常))完成之后,可以执行一些初始化操作。

    在bean的生命周期中,PostConstruct注解的方法是在依赖注入完成后,初始化方法执行前调用的。具体来说,它是在BeanPostProcessor的postProcessBeforeInitialization方法执行后,InitializingBean的afterPropertiesSet方法执行前调用的。


    特点:

    1、只有一个非静态方法能使用此注解

    • 如果在一个类中有多个方法被标记了@PostConstruct注解,容器会抛出异常。

    2、被注解的方法不得有任何参数

    3、被注解的方法返回值必须为void

    4、被注解方法不得抛出已检查异常

    5、此方法只会被执行一次


    示例代码:

    import javax.annotation.PostConstruct;
    
    public class ExampleClass {
    
        private String message;
    
        public ExampleClass() {
            System.out.println("Constructor");
        }
    
        @PostConstruct
        public void init() {
            System.out.println("PostConstruct");
            message = "Hello, World!";
        }
    
        public String getMessage() {
            return message;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    当创建ExampleClass对象时,会先执行构造函数打印"Constructor",然后执行@PostConstruct注解标记的init()方法打印"PostConstruct",最后返回ExampleClass对象。此时,通过调用getMessage()方法获取到初始化后的message属性值。

    注意:@PostConstruct注解需要依赖于Java EE或Spring等容器的支持,才能正常使用。

    参考博客:https://blog.csdn.net/qq_43842093/article/details/121621652

  • 相关阅读:
    【技术实战】Vue功能样式实战【六】
    深度优先搜索dfs算法刷题笔记【蓝桥杯】
    TinyGrad
    禅道bug统计并发送钉钉通知
    leaflet 示例教程100+ 目录
    Python教程--len函数
    spark相关网站
    Ubuntu - 连接 ssh 网络错误
    想成为IC后端工程师得会啥?主要工作内容是什么?
    【深度学习】QA机器人的实现
  • 原文地址:https://blog.csdn.net/weixin_42594143/article/details/133632695