Java 注解 @PostConstruct 的简易知识

yufei       2 年, 9 月 前       837

在大大小小的项目中,或许都能看到 @PostConstruct 注解,我一直以为是 Spring 的注解。昨天刚好有空,就特意看了下导入的类来源,没想到啊,它竟然是 Java 的注解

import javax.annotation.PostConstruct;

@PostConstruct 注解的作用,就是补充执行对象的初始化工作。

准确的说就是: @PostConstruct 用于修饰一个 非静态的 void 方法,该方法会在服务器加载 Servlet 的时候执行,而且只会执行一次。执行的时机是在构造函数方法之后,init() 方法之前。

如果算上 @Autowired 依赖注入注解,那么执行顺序如下

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

例如下面的实例

package com.haoshuashua.springboot.demo;

import com.example.studySpringBoot.service.MyMethorClassService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

@Component
public class Demo {

    private static Demo staticInstance = new Demo();

    @Autowired
    private OtherClassService    otherService;

    @PostConstruct
    public void init(){
        staticInstance.otherService = myService;
    }

    public static Integer invokeBean(){
        return staticInstance.otherService.add(10,20);
    }
}
目前尚无回复
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.