springboot中项目启动时实现初始化方法加载参数
springboot项目启动,初始化方法加载参数
今天我看到项目中用到了 @PostConstruct 这个注解,之前没看到过,特地查了一下,
1.@PostConstruct说明
被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。
2.@PreDestroy说明
被@PreDestroy修饰的方法会在服务器卸载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的destroy()方法。被@PreDestroy修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前。
可以看出来这个注解是用来项目启动时,进行加载参数的初始化参数的操作
然后我就总结了下springboot中几种项目启动时,可以初始化加载参数的方法。
第一种:注解@PostConstruct
项目启动之后,可以看到这行代码在项目启动的时候已经执行了
第二种:实现CommandLineRunner接口
@Order注解里面的参数是类执行的顺序,由小到大顺序
类中的输出语句都打印出来了
第三种:springboot的启动类
最简单的方法,直接在springboot的启动类中加上需要初始化的类就行了~
springboot初始化参数顺序
spring初始化参数顺序为
构造器-->自动注入-->PostConstrut-->InitializingBean-->init方法
-->CommandLineRunner接口方法
在容器初始化过程中便会按照如下的顺序执行初始化对象的操作。
- 初始化——构造方法!
- 初始化——@PostConstruct方法
- 初始化——InitializingBean接口
- 初始化——init方法!
- ---容器启动完毕后...
- 容器启动—CommandLineRunner接口方法!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
一文搞懂SpringMVC中@InitBinder注解的使用
@InitBinder方法可以注册控制器特定的java.bean.PropertyEditor或Spring Converter和 Formatter组件。本文通过示例为大家详细讲讲@InitBinder注解的使用,需要的可以参考一下2022-06-06SpringBoot开发案例 分布式集群共享Session详解
这篇文章主要介绍了SpringBoot开发案例 分布式集群共享Session详解,在分布式系统中,为了提升系统性能,通常会对单体项目进行拆分,分解成多个基于功能的微服务,可能还会对单个微服务进行水平扩展,保证服务高可用,需要的朋友可以参考下2019-07-07jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)
Jmeter用于接口测试时,后一个接口经常需要用到前一次接口返回的结果,本文主要介绍了jmeter实现接口关联的两种方式,感兴趣的小伙伴们可以参考一下2021-11-11
最新评论