侧边栏壁纸
博主头像
晓果冻博主等级

一个热爱生活的95后精神小伙

  • 累计撰写 131 篇文章
  • 累计创建 15 个标签
  • 累计收到 67 条评论

目 录CONTENT

文章目录

@PostConstruct注解原理解析

晓果冻
2020-12-09 / 0 评论 / 2 点赞 / 527 阅读 / 658 字
温馨提示:
本文最后更新于 2021-10-26,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

正文

@PostConstruct注解使用简介

在了解一个东西的原理之前,我们得初步的懂得如何使用它。所以,本文先从@PostConstruct注解如何简单的使用开始。

简单起见,我们准备一个springboot项目快速启动。项目目录结构如下:

下面我们在cn.lay.postconstruct目录下创建一个类,并添加一个@PostConstruct的方法,如

最后,我们执行PostConstructApplication的main方法,启动项目。在控制台里,我们会看到

到这里,我们可以知道@PostConstruct注解的用途了。当一个class被注解为一个Bean,那么class上被@PostConstruct注解的方法将会在程序启动的时候执行。

PostConstruct注释规则

1. 除了拦截器这个特殊情况以外,其他情况都不允许有参数,否则spring框架会报IllegalStateException;而且返回值要是void,但实际也可以有返回值,至少不会报错,只会忽略

2. 方法随便你用什么权限来修饰,public、protected、private都可以,反正功能是由反射来实现

3. 方法不可以是static的,但可以是final的

所以,综上所述,在spring项目中,在一个bean的初始化过程中,方法执行先后顺序为

Constructor > @Autowired > @PostConstruct

先执行完构造方法,再注入依赖,最后执行初始化操作,所以这个注解就避免了一些需要在构造方法里使用依赖组件的尴尬。

2

评论区