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 @   村上春树的叶子  阅读(271)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示