SpringBoot 启动时实现自动执行代码的几种方式讲解
目前开发的SpringBoot项目在启动的时候需要预加载一些资源。而如何实现启动过程中执行代码,或启动成功后执行,是有很多种方式可以选择,我们可以在static代码块中实现,也可以在构造方法里实现,也可以使用@PostConstruct注解实现。
当然也可以去实现Spring的ApplicationRunner与CommandLineRunner接口去实现启动后运行的功能。在这里整理一下,在这些位置执行的区别以及加载顺序。
java自身的启动时加载方式
static代码块
static静态代码块,在类加载的时候即自动执行。
构造方法
在对象初始化时执行。执行顺序在static静态代码块之后。
Spring启动时加载方式
@PostConstruct注解
PostConstruct注解使用在方法上,这个方法在对象依赖注入初始化之后执行。
ApplicationRunner和CommandLineRunner
SpringBoot提供了两个接口来实现Spring容器启动完成后执行的功能,两个接口分别为CommandLineRu
共有 0 条评论