springboot应用中使用CommandLineRunner
2024-09-07 08:00:26
在springboot应用中,存在这样的使用场景,在springboot ioc容器创建好之后根据业务需求先执行一些操作,springboot提供了两个接口可以实现该功能:
- CommandLineRunner
- ApplicatioinRunner
使用思路:
- 实现改接口,重写run方法,run方法中完成要完成的操作
- 实例化接口,并注入到spring ioc容器
/**
* Application类
*/
@SpringBootApplication
public class Application implements CommandLineRunner {
@Resource
private HelloService helloService;
public static void main(String[] args) {
System.out.println(" 容器创建之前");
SpringApplication.run(Application.class, args);
System.out.println("容器创建之后");
}
@Override
public void run(String... args) throws Exception {
System.out.println("前面过程在创建容器,现在创建好了,先执行下列操作:");
//调用run方法时,spring ioc容器中helloService已经创建并装配好
helloService.sayHello("操作:arminker");
}
}
总结:
- @SpringBootApplication标注的类是一个配置类
- 在springboot应用中,配置类对象会自动被spring ioc容器所管理
- 在测试类中,使用AnnotationConfigApplicationContext获取容器对象,发现无法获取,说明在非springboot项目中,被@Configuration标注的类不会对项目进行自动配置,必须要添加配置参数。
最新文章
- BestCoder Round 69 Div 2 1001&;&; 1002 || HDU 5610 &;&; 5611
- How to: Convert Between Various String Types
- MySQL的mysqldump工具的基本用法
- 修改CSV中的某些值 -- 2
- 多校6 1003 HDU5795 A Simple Nim (sg函数)
- SQL Server 负载均衡集群方案之Moebius
- nuc950支持nand的mtd驱动的kernel修改
- sql查询 数据库 表 字段 等
- 定义你自己ViewGroup
- JAVA的abstract修饰符 &;&; 接口interface用法 &;&; 抽象类和interface的差别
- 使用net Manager工具远程连接oracle
- [bzoj3196]Tyvj 1730 二逼平衡树——线段树套平衡树
- UOJ #460 新年的拯救计划
- 工具方法: jQuery.方法() $.extend (小计)
- selenium基础用法(爬虫)
- [转帖]IBM POWER系列处理器的前世今生
- 09观察者模式ObServer
- java面向切面编程总结-面向切面的本质
- 【动态规划】POJ-2229
- Ubuntu Server 下配置静态网络的方法
热门文章
- [BUUCTF]PWN——[V&N2020 公开赛]warmup
- [BUUCTF]REVERSE——[BJDCTF2020]JustRE
- [BUUCTF]PWN14——not_the_same_3dsctf_2016
- 【Web】BUUCTF-warmup(CVE-2018-12613)
- SpringBoot Redis 发布订阅模式 Pub/Sub
- CF1461A String Generation 题解
- canvas 实现渐变色填充的三角形
- SpringCloud使用GateWay网关前端请求请求跨域处理
- lldb调试C++总结(3)
- 【LeetCode】107. Binary Tree Level Order Traversal II 解题报告 (Python&C++)