springboot中项目启动时实现初始化方法加载参数

springboot项目启动,初始化方法加载参数

今天我看到项目中用到了 @PostConstruct 这个注解,之前没看到过,特地查了一下,

1.@PostConstruct说明

被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。

2.@PreDestroy说明

被@PreDestroy修饰的方法会在服务器卸载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的destroy()方法。被@PreDestroy修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前。

可以看出来这个注解是用来项目启动时,进行加载参数的初始化参数的操作

然后我就总结了下springboot中几种项目启动时,可以初始化加载参数的方法。

第一种:注解@PostConstruct

项目启动之后,可以看到这行代码在项目启动的时候已经执行了

springboot中项目启动时实现初始化方法加载参数_第1张图片

第二种:实现CommandLineRunner接口

@Order注解里面的参数是类执行的顺序,由小到大顺序

springboot中项目启动时实现初始化方法加载参数_第2张图片

springboot中项目启动时实现初始化方法加载参数_第3张图片

类中的输出语句都打印出来了

springboot中项目启动时实现初始化方法加载参数_第4张图片

第三种:springboot的启动类

最简单的方法,直接在springboot的启动类中加上需要初始化的类就行了~

springboot中项目启动时实现初始化方法加载参数_第5张图片

springboot中项目启动时实现初始化方法加载参数_第6张图片

springboot初始化参数顺序

spring初始化参数顺序为

构造器-->自动注入-->PostConstrut-->InitializingBean-->init方法

-->CommandLineRunner接口方法

在容器初始化过程中便会按照如下的顺序执行初始化对象的操作。

  • 初始化——构造方法!
  • 初始化——@PostConstruct方法
  • 初始化——InitializingBean接口
  • 初始化——init方法!
  • ---容器启动完毕后...
  • 容器启动—CommandLineRunner接口方法!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(springboot中项目启动时实现初始化方法加载参数)