SpringBoot怎么自定义一个Starter
SpringBoot怎么自定义一个Starter
starter是什么
spring-boot-starter是spring-boot的一个非常重要组成部分。spring-boot-starter可以理解为一个可拔插式的组件。它可以让模块开发独立化,相互间依赖更加松散,也可以更加方便地集成。
当应用程序需要使用到某个starter的相关服务时,只需要在maven中引入该starter依赖既可。
spring-boot-starter创建
命名规范
在创建spring-boot-starter的项目时,我们需要给项目命名。对于starter的项目命名,spring官方文档中给出了说明。
- 官方的spring-boot-starter命名格式为:spring-boot-starter-{xxxx}。 比如: spring-boot-starter-web。
- 自定义的spring-boot-starter命名格式为: {xxxx}-spring-boot-starter。比如druid-spring-boot-starter。
自定义配置信息类
在spring-boot-starter的项目中,我们一般会自定义一个配置类来读取项目配置文件的信息。
一般会使用@ConfigurationProperties注解,来读取特定前缀的配置信息。
例如在druid-spring-boot-starter项目中,定义了一个DruidStatProperties配置类,专门读取以” spring.datasource.druid”开头的配置信息。
自动配置类
我们会定义一个自动配置类,在spring-boot启动时,它会自动实例化一些需要的bean。这个自动配置类需要在spring.factories文件中配置。
在自动配置类中一般会使用到@EnableConfigurationProperties、@Configuration、@Bean这些注解。
在druid-spring-boot-starter项目中,定义了DruidDataSourceAutoConfigure这个配置类,在DruidDataSourceAutoConfigure类中实例化了DataSource的这个bean。
spring.factories
我们需要在starter项目的resources目录下,建立一个META-INF目录,并在这个目录下创建一个spring.factories文件。
在这个spring.factories文件配置我们自定义的自动配置类。例如:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=xxxx.xxxx.XXXXAutoConfiguration。
spring-boot-starter使用
spring-boot-starter的使用非常简单,只需要在maven中引用项目的starter就可以了。以使用druid-spring-boot-starter为例:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.1</version>
</dependency>
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击