Spring PostConstruct注解的使用

Laughing
2021-10-23 / 0 评论 / 1,156 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年03月16日,已超过307天没有更新,若内容或图片失效,请留言反馈。

一、基本介绍

@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次@PostConstruct在构造函数之后执行,init()方法之前执行。
通常我们会是在Spring框架中使用到@PostConstruct注解 该注解的方法在整个Bean初始化中的执行顺序:
Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注解的方法)

二、用途

@PostConstruct主要用于处理一些初始化工作。
比如下面代码

@RestController
@RequestMapping(value = "book")
@Slf4j
public class BookController {

    @Resource
    private IBookService bookService;

    /**
     * 构造函数
     */
    public BookController() {
        log.info("构造函数,此时bookService :" + bookService);
    }

    @PostConstruct
    public void init() {
        log.info("PostConstruct,此时bookService :" + bookService);
    }

    @GetMapping(value = "search")
    public List<Book> search() {
        return bookService.search();
    }

}

看下控制台
可以看到,构造函数里面,Bean还没有初始化,@PostConstruct里面已经完成初始化,所以,我们可以通过@PostConstruct完成一些初始化后的操作。

0

评论 (0)

取消