SpringBean初始化顺序

简介: SpringBean初始化顺序

原文链接

Spring bean是Spring框架在运行时管理的对象。Spring bean是任何Spring应用程序的基本构建块。我们编写的大多数应用程序逻辑代码都将放在Spring bean中。

执行顺序:

Constructor > @Autowired > @PostConstruct > InitializingBean > init-method

因此不能在构造函数中直接使用@Autowired定义的参数,而应该在@PostConstruct中调用。

例如:

public class Metric {
   

    @Autowired
    MonitorMetric monitorMetric;

    final String string;

    // 构造函数
    public Metric(String string){
   
        this.string = string;
    }

    // 在 PostConstruct 中获取 Autowired 的值
    @PostConstruct
    public String initialize(){
   
        return monitorMetric.getStr();
    }
}

学习更多编程知识,请关注我的公众号:

代码的路

相关文章
|
C++
EDA设计与开发:原理、实例与代码详解
EDA设计与开发:原理、实例与代码详解
2240 0
|
SpringCloudAlibaba 负载均衡 算法
SpringCloudAliBaba篇之Ribbon负载均衡器:让你的应用从容应对高并发
SpringCloudAliBaba篇之Ribbon负载均衡器:让你的应用从容应对高并发
823 0
|
12月前
|
Arthas 监控 Java
Arthas getstatic(查看类的静态属性 )
Arthas getstatic(查看类的静态属性 )
322 7
|
缓存 Java Spring
Java本地高性能缓存实践问题之Caffeine中设置刷新机制的问题如何解决
Java本地高性能缓存实践问题之Caffeine中设置刷新机制的问题如何解决
761 1
|
存储 缓存 Java
Java内存模型(JMM)
Java内存模型(JMM)是一个抽象概念,用于规范程序中各种变量(实例字段、静态字段及数组元素)的访问方式,确保不同Java虚拟机(JVM)上的并发程序结果一致可靠。JMM定义了主存储器(所有线程共享)与工作存储器(线程私有)的概念,线程间通过主存储器进行通信。JMM具备三大特性:原子性(确保基本读写操作的不可分割)、可见性(确保一个线程对共享变量的修改对其他线程可见)、有序性(防止指令被处理器或编译器重排序影响程序逻辑)。通过这些特性,JMM解决了多线程环境下的数据一致性问题。
318 1
|
Java Maven Spring
【异常解决】java: 无法访问org.springframework.boot.SpringApplication的解决方案
【异常解决】java: 无法访问org.springframework.boot.SpringApplication的解决方案
5104 0
|
存储 Java
|
Java Spring 容器
No qualifying bean of type ‘java.lang.String‘ available: expected at least 1 bean which qualifies
No qualifying bean of type ‘java.lang.String‘ available: expected at least 1 bean which qualifies
1601 0
No qualifying bean of type ‘java.lang.String‘ available: expected at least 1 bean which qualifies
|
机器学习/深度学习 程序员 TensorFlow
GitHub排名第一!免费最强“抢票神器”在手,程序员抢票再不用跪求加速包
过年回家的车票抢到了吗?春运一直以来都以难抢票著称,很多人开始通过各种软件和途径,希望能够完成购票大计。按照程序员一向“懒”的做事风格,必然是不愿意自己亲手去做的,直接写一段程序岂不是省时省力?今天分享GitHub标星两万的"抢票神器”。
12321 0
GitHub排名第一!免费最强“抢票神器”在手,程序员抢票再不用跪求加速包
|
监控 关系型数据库 MySQL
在Linux中,mysql的innodb如何定位锁问题?
在Linux中,mysql的innodb如何定位锁问题?