SpringBoot启动时--如何自动运行代码呢?
下文笔者讲述SpringBoot启动时-自动运行代码的方法及示例分享,如下所示
SpringBoot自动运行代码的实现思路
方式1:
自身启动时加载(static ,构造方法)
方式2:
Spring启动时加载
例:
static代码块 static静态代码块,在类加载的时候即自动执行。 构造方法 在对象初始化时执行。执行顺序在static静态代码块之后。Spring启动时加载方式
@PostConstruct注解
PostConstruct注解使用在方法上
这个方法在对象依赖注入初始化之后执行。
ApplicationRunner和commandlinerunner
SpringBoot提供了两个接口来实现Spring容器启动完成后执行的功能
两个接口分别为CommandLineRunner和ApplicationRunner。
这两个接口需要实现一个run方法
将代码在run中实现即可
这两个接口功能基本一致
其区别在于run方法的入参
ApplicationRunner的run方法入参为ApplicationArguments
CommandLineRunner的run方法入参为String数组
例:
@Component
public class TestPostConstruct {
static {
System.out.println("static");
}
public TestPostConstruct() {
System.out.println("constructer");
}
@PostConstruct
public void init() {
System.out.println("PostConstruct");
}
}
@Component
@Order(1)
public class TestApplicationRunner implements ApplicationRunner{
@Override
public void run(ApplicationArguments applicationArguments) throws Exception {
System.out.println("order1:TestApplicationRunner");
}
}
@Component
@Order(2)
public class TestCommandLineRunner implements CommandLineRunner {
@Override
public void run(String... strings) throws Exception {
System.out.println("order2:TestCommandLineRunner");
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


