关于springboot自动化配置,创建一个spring-boot-starter的简单实现

今天学习了关于springboot自动化配置相关内容,这里通知自定义一个简单的spring-boot-starter项目帮助理解

1. 创建一个普通的Maven项目

1.1 首先创建一个普通的Maven项目,然后在pom文件中引入springboot自动配置依赖包spring-boot-autoconfigure
在这里插入图片描述
1.2 创建一个普通java类PersonProperties,使用@ConfigurationProperties进行标注,将配置文件application.yml / application.properties中以person开头的配置与该类中的属性一一对应
在这里插入图片描述
1.3 创建一个业务列PersonService,定义一个showPersonInfo获取personProperties对象的属性值
在这里插入图片描述
1.4 这是关键类,创建一个自动化配置类PersonAutoConfiguration,使用@Configuration标注表明该类是一个配置类,@EnableConfigurationProperties使PersonProperties类的@ConfigurationProperties注解生效并将配置文件中的属性注入到PersonProperties类的实例bean中,@ConditionOnClass注解表示只有个在classpath下存在PersonService类时该配置这里的配置才生效,@Bean标注的方法的返回对象放入springIOC容器中
在这里插入图片描述
1.5 然后在项目resources目录下创建一个META-INF目录,并创建spring.factories文件
在这里插入图片描述
spring.factories文件内容:
在这里插入图片描述
因为springboot项目的启动类都有@SpringBootApplication注解,该注解又被@EnableAutoConfiguration注解标注,表示启用自动配,而该注解会引入一个AutoConfigurationImportSelector类,该类会自动扫描META-INF/spring.factories文件,并加载里面配置的自动化配置类

1.6 将该Maven项目打包发布的到本地Maven仓库

在这里插入图片描述
发布成功:
在这里插入图片描述

2. 创建一个SpringBoot项目

2.1 创建一个Springboot项目引入以上的项目person-spring-boot-starter
在这里插入图片描述
引入成功后可以在外部类库中看到:
在这里插入图片描述
2.2 创建一个测类,注入PersonService的实例进行测试
在这里插入图片描述
2.3 在没有在application.yml配置文件中配置属性是运行正常,打印的是默认配置信息,结果如下:
在这里插入图片描述
2.4 在配置文件中配置相关属性
在这里插入图片描述
2.5 配置后运行结果与配置信息一致,成功运行:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值