首页 > 其他分享 >@PostConstruct的顺序

@PostConstruct的顺序

时间:2023-04-25 10:11:52浏览次数:35  
标签:顺序 Autowired PostConstruct annotation 注入 method MUST


其实从依赖注入的字面意思就可以知道,要将对象p注入到对象a,那么首先就必须得生成对象p与对象a,才能执行注入。所以,如果一个类A中有个成员变量p被@Autowired注解,那么@Autowired注入是发生在A的构造方法执行完之后的。
如果想在生成对象时候完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么就无法在构造函数中实现。为此,可以使用@PostConstruct注解一个方法来完成初始化,@PostConstruct注解的方法将会在依赖注入完成后被自动调用。
Constructor >> @Autowired >> @PostConstruct

public Class AAA {  
    @Autowired  
    private BBB b;  

    public AAA() {  
        System.out.println("此时b还未被注入: b = " + b);  
    }  

    @PostConstruct  
    private void init() {  
        System.out.println("@PostConstruct将在依赖注入完成后被自动调用: b = " + b);  
    }  
}
  • The PostConstruct annotation is used on a method that needs to be executed
  • after dependency injection is done to perform any initialization. This
  • method MUST be invoked before the class is put into service. This
  • annotation MUST be supported on all classes that support dependency
  • injection. The method annotated with PostConstruct MUST be invoked even
  • if the class does not request any resources to be injected. Only one
  • method can be annotated with this annotation. The method on which the
  • PostConstruct annotation is applied MUST fulfill all of the following
  • criteria


标签:顺序,Autowired,PostConstruct,annotation,注入,method,MUST
From: https://blog.51cto.com/u_16087831/6223406

相关文章

  • nginx的location匹配顺序是怎么样的?rewrite转发到uptream和直接在proxy_pass转发到ups
    Nginxlocation匹配的顺序在Nginx配置文件中,location指令用于配置请求匹配到的URL路径对应的处理规则。location指令匹配URL路径的方式是先精确匹配,然后正则匹配,最后使用URI重写实现后备匹配。匹配顺序如下:先精确匹配location指令中以=开头的模式;然后正则匹......
  • RocketMQ【RocketMQ应用实战、发送异步消息、单向发送消息、顺序发送消息、顺序消费消
    目录RocketMQ应用实战RocketMQ应用实战生产者实战生产端发送同步消息publicclassSyncProducer{publicstaticvoidmain(String[]args)throwsException{//实例化消息生产者ProducerDefaultMQProducerproducer=newDefaultMQProducer("please_rename_uniq......
  • 微信小程序:uni-app页面Page和组件Component生命周期执行的先后顺序
    目录H5微信小程序测试代码文档页面生命周期https://uniapp.dcloud.net.cn/tutorial/page.html#lifecycle组件生命周期https://uniapp.dcloud.net.cn/tutorial/page.html#componentlifecycle经测试,得出结论:H5和微信小程序的生命周期函数调用顺序不一致H5pagebeforeCreatepag......
  • QT中在使用QMediaPlaylist类的insertMedia函数插入新播放文件后,出现播放顺序错误的分
    我下面的这段代码的意图是:当前的播放队列中插入一个播放文件到队首,使其为下一个播放文件。但是并没有达到我的预期。于是在代码中加入一段调试程序,将当前的播放文件的序号打印出来。 调试之后的结果如下:发现无论向播放队列中插入几次,当前的播放序列都是1。如果想要在播放......
  • element-plus实现列表拖拽切换位置、顺序(支持搜索)
    1.组件实现<template><el-popoverplacement="bottom"popper-class="interBarControl-setPopover":width="200":visible="visible"trigger="click"@click.stop="">......
  • /etc/profile, rc.local等文件的执行顺序
    1、各初始化文件执行流程以下是/etc/rc.local与/etc/profile.bash_profile.bashrc等文件的执行顺序。1)通过/boot/vm进行启动vmlinuz2)init/etc/inittab3)启动相应的脚本,并且打开终端rc.sysinitrc.d(里面的脚本)rc.local4)启动login登录界面login5)在用户登录的时候执行sh......
  • 无代码调整聚类热图分支顺序
    聚类热图根据不同的聚类算法和距离计算方式,获得的热图分支结构会有一些不同。有时,我们也希望能在不改变分支结构的基础上,对热图分支的顺序进行一些调整,这就是推文聚类热图怎么按自己的意愿调整分支的顺序?的出发点。现在这个功能也搬到了BIC平台,具体怎么做呢?采用之前的绘图数据采用......
  • 一篇文章带你了解css z-index(重叠顺序)
    divcssz-index层重叠顺序div层、span层等html标签层重叠顺序样式z-index,平时CSS使用较少,但也会难免会碰到CSSz-index使用。从基础语法到应用案例教程讲解学习z-index。一、z-index语法与结构z-index跟具体数字div{z-index:100}注意:z-index的数值不跟单位。z-index的数字越高......
  • Java技术_基础技术(0003)_类执行顺序详解+实例(阿里面试题)+详细讲解+流程图
    一、总体原则列出执行顺序的原则(这里本人出了简化,比较明了。可能有漏的,请帮忙补充,但应付该实例足以):  ==父类先于子类;  ==静态先于非静态;  ==变量和块先于构造方法;  ==变量声明先于执行(变量赋值、块执行);(这一点是根据数据在内存中是如何存储的得出的,基本类型、对象、......
  • 查找(1.顺序查找、2.二分法查找)
    顺序查找既是for循环,在循环内用if匹配输入的值是否有对等,有即返回对应结果如果for循环下,没有对应的匹配值,要返回提示没找到用如下方法二分法查找1.必须是一个有序的列表2.先找到数组的中间值,拿输入值与其配对3.如果值是小了往左边选中间值,再匹对。反之向右.........