@PostConstruct注解好多人以为是Spring提供的。其实是Java自己的注解。

Java中该注解的说明:@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。

通常我们会是在Spring框架中使用到@PostConstruct注解 该注解的方法在整个Bean初始化中的执行顺序:

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

作用:

@PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。

执行顺序:

其实从依赖注入的字面意思就可以知道,要将对象p注入到对象a,那么首先就必须得生成对象a和对象p,才能执行注入。所以,如果一个类A中有个成员变量p被@Autowried注解,那么@Autowired注入是发生在A的构造方法执行完之后的。

如果想在生成对象时完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么久无法在构造函数中实现。为此,可以使用@PostConstruct注解一个方法来完成初始化,@PostConstruct注解的方法将会在依赖注入完成后被自动调用。

Constructor >> @Autowired >> @PostConstruct

启动项目输出如下

@PostConstruct注解学习相关推荐

  1. @PostConstruct注解学习,最详细的分享教程

    该注解可以实现在运行工程时,自动运行该注解下的方法: @PostConstruct是java自带的注解,指的是在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据 ...

  2. @postconstruct注解方法没有执行_被标记为事务的方法互相调用的坑(下)

    上一节,主要分析了 被标记为事务的方法互相调用,事务失效的原因,思考比较多,这一节主要说说解决方案,思考会少一些. 解决方案的核心: 通过代理对象去调用方法 1.把方法放到不同的类: 如果想学习Jav ...

  3. Spring 注解学习手札

    Spring 注解学习手札 SpringWeb网络应用应用服务器log4j 近来工作发生了一些变化,有必要学习一下Spring注解了! 网上找了一些个例子,总的说来比较土,大多数是转载摘抄,按照提示弄 ...

  4. Spring 注解学习手札(七) 补遗——@ResponseBody,@RequestBody,@PathVariable(转)

    最近需要做些接口服务,服务协议定为JSON,为了整合在Spring中,一开始确实费了很大的劲,经朋友提醒才发现,SpringMVC已经强悍到如此地步,佩服! 相关参考:  Spring 注解学习手札( ...

  5. @data注解的作用_Java中注解学习系列教程-2

    在上一篇文章中,我们讲解了:Java中注解的定义.JDK中内置注解.第三方注解. 本文是注解系列教程中的第二篇.来看看今天主要内容: ​ 1:注解的分类 2:元注解说明 3:自定义注解声明 一:注解的 ...

  6. postconstruct_@PostConstruct注解,你该好好看看

    在最近的工作中,get到一个很实用的注解,分享给诸位. 痛点 做过微信或支付宝支付的童鞋,可能遇到过这种问题,就是填写支付结果回调,就是在支付成功之后,支付宝要根据我们给的地址给我们进行通知,通知我们 ...

  7. java自定义注解学习笔记

    注解学习笔记之自定义注解 @Target({1,2,3,4,5,6,7}) 1.ElementType.CONSTRUCTOR:用于描述构造器 2.ElementType.FIELD:用于描述域 3. ...

  8. @PostConstruct注解详解

    简介 javaEE5引入了@PostConstruct和@PreDestroy两个作用于Servlet生命周期的注解,实现Bean初始化之前和销毁之前的自定义操作 使用场景 在项目中主要是在Servl ...

  9. @excel 注解_Java中注解学习系列教程-3

    本文是<Java中注解学习系列教程>第三篇文章 在前两篇中我们学习了注解的定义.JDK内置注解.注解分类及自定义注解的写法. 本文咱们将学习: ​ 1:自定义注解一些说明 2:自定义注解怎 ...

最新文章

  1. 解决java前后端分离端口跨域问题
  2. Java 9 - 17 特性解读:Java 10
  3. luogu P5292 [HNOI2019]校园旅行
  4. 作为一名程序员,谁没跳过槽,“6”招让你“空降”大厂
  5. JS编程建议——2:正确辨析JavaScript句法中的词、句和段
  6. 剑指offer之打印链表的倒数第N个节点的值
  7. yeoman_具有Spring Boot和Yeoman的单页Angularjs应用程序
  8. win10锁屏c语言,怎样在Win10锁屏界面打开任意应用程序?
  9. linux中split函数用法,Linux split命令参数及使用方法详解
  10. 子集生成-增量构造法||位向量法
  11. SQL Server中SQL Union vs Union All
  12. 嵌入不同源的页面_嵌入式技术课程教与学(教学大纲和试卷)
  13. 因为在此系统上禁止运行脚本。有关详细信息_win10系统下Hyper-V基本(网上资源整合)3
  14. 51单片机通过WIFI模块ESP8266控制四路继电器
  15. pe显示linux分区文件,找到了linux分区顺序错乱修复方法
  16. 计算机说课教案模板,说课稿通用模板
  17. linux 软连接和硬链接的区别
  18. 遭遇Trojan PSW OnlineGames Trojan HiJack a Trojan PSW ZhuXian
  19. 计算机主机usb端口使用不了,解答电脑usb接口不能用怎么解决
  20. Mac搭建GO开发环境

热门文章

  1. Android通用流行框架大全
  2. 【转】BMP图像文件格式
  3. 【pyradiomics学习】——影像组学特征
  4. python读取excle表格数据,将数据编辑到图像上工程
  5. oracle中区间大小,Oracle的逻辑结构(表空间、段、区间、块)——总结
  6. Visual Studio 2008 环境变量的配置(参考设置VS2010)
  7. java字符串排序_对字符串排序持一种宽容的心态
  8. netflix会员和非会员的区别_Netflix开放10部作品免费给非会员试看
  9. 第二章:用户登录管理模块
  10. 转:A/B测试:实现方法