关于springboot自动化配置,创建一个spring-boot-starter的简单实现
2019-06-03 15:29
1686 查看
今天学习了关于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 配置后运行结果与配置信息一致,成功运行:
相关文章推荐
- 徒手撸一个 Spring Boot 中的 Starter ,解密自动化配置黑魔法!
- Spring Boot 揭秘与实战 自己实现一个简单的自动配置模块
- 实现一个无需配置的SpringBoot的简单Demo
- Spring Boot 揭秘与实战 自己实现一个简单的自动配置模块
- 创建一个简单的springboot项目,实现restful接口
- java 关于Spring中Aop的简单理解以及SpringBoot如何添加Aop实现步骤
- 仿照spring-boot实现一个简单的ioc容器(一)
- 使用IDEA创建Spring Boot项目, 整合Mybatis ,连接MySql数据库,实现简单的登录注册功能
- Spring Boot 系列 | 第一篇:快速创建一个简单的应用
- SprigBoot(三)创建一个简单的SpringBootWeb项目
- 使用IDEA创建一个简单的基于Spring Boot的RESTful Web Service
- 创建一个自定义的Spring Boot Starter
- 一个简单的springboot的案例实现一个请求控制层返回一个JSON
- Spring boot实现一个简单的ioc(2)
- OpenStack Tacker介绍 - 5.创建一个简单的VNFFG,即实现一个SFC服务链的自动化创建
- 实现一个RedisSerializer<T>用在spring-boot-starter-data-redis中
- Idea简单创建一个springboot的maven项目
- SpringBoot学习之DAY_01 springboot介绍以及创建一个简单的springboot工程