在项目中可能遇到这样的问题,在springboot 容器启动之后执行特定的方法或者类。

  1. ApplicationRunner接口,这个接口中有一个run方法,我们只需要实现这个方法即可
  2. ApplicationRunner接口,这个接口中有一个run方法,我们只需要实现这个方法即可
  3. @PostContruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。

使用场景

1.spring项目加载数据字典
@PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。

2.spring项目的定时任务
spring自带的@schedule,没有开关,项目启动总会启动一个线程;
做项目的时候就使用Java的timer,这个设置开关即可自由的控制,关闭的时候,不会启动线程;
Java的timer也需要找到一个启动类,可以放到main函数里面启动,这样的话,代码的耦合性太高了,而使用PostConstruct是很干净的。

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐