@PostConstruct注解学习

@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

 

 

启动项目输出如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea for mac 控制台 mvn command not found

一:现在的IDEA 自带maven库maven库的地址如下图查看 二:完idea 需要配置maven库的环境变量才能找到该命令 Mac系统的环境变量,加载顺序为: a. /etc/profile b. /etc/paths c. ~/.bash_profile d. ~/.bash_login e. ~/.profile f. ~/.bashrc 其…

java天气预报webservice_webservice之实现天气预报

前通过传智的视频自学了webservice的基本使用,也了解到webservice就是一种跨编程语言和跨操作系统平台的远程调用技术。对于这些理论知识在这里也不再做过多的解释,本次主要就是记录与分享使用cxf 框架完成远程调用气象局提供的接口,来实现天…

CSS下拉菜单

例子: 鼠标移动到按钮上打开下拉菜单。(在这里我将下拉菜单的内容的链接设置为百度首页) 下拉菜单 菜单内容 1 菜单内容 2 菜单内容 3HTML 部分: 制作下拉菜单可以使用任何的 HTML元素来打开下拉菜单,如:&l…

maven跳过单元测试-maven.test.skip和skipTests的区别

第一种 -Dmaven.test.skiptrue&#xff0c;不执行测试用例&#xff0c;也不编译测试用例类。 一 使用maven.test.skip&#xff0c;不但跳过单元测试的运行&#xff0c;也跳过测试代码的编译。 mvn package -Dmaven.test.skiptrue<plugin> <groupId>org.apache.m…

linux下java命令行参数_Java调用Linux命令行

Java调用Linux命令行Java语言以其跨平台性和简易性而著称&#xff0c;在Java里面的lang包里(java.lang.Runtime)提供了一个允许Java程序与该程序所运行的环境交互的接口&#xff0c;这就是Runtime类&#xff0c;在Runtime类里提供了获取当前运行环境的接口。那么java怎么调用Li…

初识RPC概念

什么是RPC RPC 全称 Remote Procedure Call——远程过程调用。在学校学编程&#xff0c;我们写一个函数都是在本地调用就行了。但是在互联网公司&#xff0c;服务都是部署在不同服务器上的分布式系统&#xff0c;如何调用呢&#xff1f; RPC技术简单说就是为了解决远程调用服务…

Dubbo介绍

1:什是Dubbo 2&#xff1a;架构图 3:节点角色说明 4&#xff1a;调用关系说明

Mac idea使用Command + p 快捷键查看一个类的构造函数需要传入什么参数

Mac idea使用Command p 快捷键查看一个类的构造函数需要传入什么参数 如下图所示

TortoiseGit不同分支合并代码

现在有主分支master和分支day2.现在要把day2上的变更合并到主分支master上&#xff01; 1.首先切换到目标分支master上。 说明当前分支是master分支。 2.在master分支上查看提交记录,即show log一下。 3.切换到源分支上 4.选中你所有的提交&#xff0c;右键&#xff0c;Cherry …

java jdk 类加载机制_JDK源码阅读之类加载

java类加载类的生命周期(类加载过程)LLIUUVPR加载(Loading)链接(Linking)验证(Verification)准备(Preparation)解析(Resolution)初始化(Initialization)使用(Using)卸载(Unloading) 类类加载器种类BootstrapClassLoader&#xff1a;C编写&#xff0c;负责加载java核心类库Launc…

2017.4.11 AM

练恋有词U28单元单词及应用 转载于:https://www.cnblogs.com/bgd140201219/p/6696472.html

volatile不具备原子性

1、理解原子性&#xff1a; 上面说到volatile不具备原子性&#xff0c;那么原子性到底是什么呢&#xff1f;先看如下代码 public class TestVolatile {public static void main(String[] args) {AtomicDemo atomicDemo new AtomicDemo();for (int x 0; x < 10; x) {new Th…

CountDownLatch的理解和使用

闭锁 CountDownLatch概念 CountDownLatch是一个同步工具类&#xff0c;用来协调多个线程之间的同步&#xff0c;或者说起到线程之间的通信&#xff08;而不是用作互斥的作用&#xff09;。 CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后&#xff0c;再继…

汇编语言学习笔记(五)

十六、数组 数组的基本表示方法 numary sdword 2,5,7 numary数组中有三个元素&#xff0c;为sdword类型&#xff0c;分别为2,5,7 empary sdword ?, ?,? empary数组为sdword类型元素&#xff0c;未初始化。 如果数组元素很多可通过 zeroary sdword 100 dup(0) zeroary数组中有…

[linux命令技巧] mkdir -p

mkdir {dirname} 只能建立单个目录。mkdir的-p选项允许你一次性创建多层次的目录&#xff0c;而不是一次只创建单独的目录。例如&#xff0c;我们要在当前目录创建目录/home/a/b (/home为空)&#xff0c;使用命令cd /home mkdir a cd a mkdir b 当然可以&#xff0c;但是使用 m…

Git文件四种状态

git status可以看到文件是untracked 未跟踪状态 git add . 把文件添加到暂存区 接着 git status可以看到是staged状态 git commit -m "备注"

java中io流是类吗_Java中的IO流

今天刚刚看完java的io流操作&#xff0c;把主要的脉络看了一遍&#xff0c;不能保证以后使用时都能得心应手&#xff0c;但是最起码用到时知道有这么一个功能可以实现&#xff0c;下面对学习进行一下简单的总结&#xff1a;IO流主要用于硬板、内存、键盘等处理设备上得数据操作…

动态规划(冬令营课堂笔记)

简单问题 01背包 012背包 部分背包 机器分配 烽火传递 花店橱窗问题 简单问题 01背包 一个容量为m的背包&#xff0c;有n个物品&#xff0c;第i个物品的体积为wi&#xff0c;价值为ci。选择若干物品&#xff0c;使得体积总和不超过m的情况下价值总和最大。 n<100&#xff0c…