1. 使用@PostConstruct注解
这个注解是在spring加载的时候执行一次,具体执行顺序如下:
@Component
public class Test {
public Test(){
System.out.println("我最先执行");
}
/**
*我第二个执行
*/
@Autowired
private T t;
/**
*我第三个个执行
*/
@PostConstruct
private void init(){
//假装有代码
}
}
2.CommandLineRunner接口
@Component
public class MyCommandLineRunner implements CommandLineRunner{
@Override
public void run(String... args) throws Exception{
//假装有代码
}
}
3.ApplicationRunner 接口
@Order(value = 1)
@Component
public class MyApplicationRunner implements ApplicationRunner{
@Override
public void run(ApplicationArguments args) throws Exception{
//假装有代码
}
}
此类相比较于第二种方式还增加一个@Order注解,这个注解其实第二种方式也是能加的。
它的作用就是控制类的加载顺序,这个顺序是从小到大的。比如说启动时先去加载Order的value等于1的类,然后去加载等于2的类。