Java项⽬启动时执⾏指定⽅法的⼏种⽅式
1.使⽤ @PostConstruct,作⽤于⽅法上⾯:类加载后执⾏,不依赖于项⽬的启动,经常可以看到项⽬未启动成功该⽅法就已经执⾏了@Component
public class PostConstruct {
@PostConstruct
public void test() {
System.out.println("PostConstruct:开始运⾏...");
}
}
2.使⽤ CommandLineRunner 接⼝:在服务启动后执⾏
@Component
public class Start implements CommandLineRunner {
@Override
public void args) throws Exception {
System.out.println("CommandLineRunner:开始运⾏...");
}
}
3.使⽤ ApplicationRunner 接⼝
@Component
public class Start1 implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
System.out.println("ApplicationRunner:开始运⾏...");
}
}
以上三种⽅式都是在项⽬启动的时候加载指定的⽅法,第⼀种使⽤的是注解的⽅式,第⼆种、第三种使⽤的是实现接⼝的⽅式。
它们的执⾏顺讯为 @PostConstruct---》ApplicationRunner---》CommandLineRunner。
实例化bean的三种方式CommandLineRunner 和ApplicationRunner 的作⽤都是⽤于项⽬启动后进⾏数据的初始化。如有多个Runner的话,可以使
⽤ @Order(value = 1)指定运⾏的顺序。数字越⼩越早运⾏。
@PostConstruct:在Spring实例化该Bean之后马上执⾏此⽅法,之后才会去实例化其他Bean
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论