CommandLineRunner 接口当中的 run() 方法的执行时机

CommandLineRunner 接口中的 run()

@FunctionalInterface
public interface CommandLineRunner {
    void run(String... args) throws Exception;
}

使用时我们需要实现接口并重写 run() 方法

@SpringBootApplication
public class Application implements CommandLineRunner {
	@Resource
	private HelloService helloService;
 
	public static void main(String[] args) {
		System.out.println("准备创建容器对象");
		ApplicationContext ac=SpringApplication.run(Application.class, args);
		HelloService helloService=(HelloService) ac.getBean("helloService");
		System.out.println("容器对象创建之后");
		System.out.println(helloService.sayHello("李四"));
	}
 
	@Override
	//执行时机为容器启动完成的时候
	public void run(String... args) throws Exception {
		//可做自定义的操作,比如读取文件,数据库等
		System.out.println("在容器对象创建好,执行的方法");
		System.out.println(helloService.sayHello(":张三"));
	}
}

执行结果
image
由执行结果可以看出,run方法的执行时机为容器启动完成时,即容器创建完成时
原文链接:https://blog.csdn.net/Jywudiok/article/details/124620278

posted @ 2022-07-16 15:10  村上春树的叶子  阅读(213)  评论(0编辑  收藏  举报