如何理解Spring Boot中的starter?

面试

starter就是一组依赖的集合,引入一个starter就相当于引入了这一组依赖,简化依赖管理。

比如:spring-boot-starter-web包含了json、tomcat、spring-webmvc等多个依赖。

如何自定starter?

  1. 创建自动配置类:即选择将哪些对象(比如:连接客户端)注入到Spring容器中。
java 复制代码
@Configuration
public class JedisAutoConfiguration {
    @Bean
    public MyService myService(JedisProperties properties) {
        return new Jedis(properties);
    }
}
  1. 创建属性类:加载使用者自定义的属性进来(username、password)
java 复制代码
@ConfigurationProperties("jedis")
public class JedisProperties {
    private String username;
    private String password;
}
  1. 创建spring.factories文件:即使用者的Spring容器初始化时,会将我们的自动配置类加载进去。
java 复制代码
在resources/META-INF目录下创建spring.factories文件,内容如下:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.example.JedisAutoConfiguration
  1. 使用者引入依赖:使用者引入我们自定义的starter依赖。
相关推荐
学长毕设3 分钟前
基于SpringBoot的烘焙商品商品系统-附源码
java·spring boot·后端
付威202326 分钟前
Durable Execution 怎样设计:从运行记录到中断恢复
后端
howard200535 分钟前
英中 / 中英对照制作程序:操作指南
spring boot·bootstrap·thymeleaf·操作指南·对照制作程序
金銀銅鐵43 分钟前
[Java] 用纯 Swing 做一个《論語·學而》阅读器
java·ai编程·交互设计
艾伦_耶格宇1 小时前
【kubernetes - 1.28版本】-11 K8S核心组件
java·容器·kubernetes
2301_780789662 小时前
深度伪造即服务:新型网络诈骗的“完美面具”与识别之道
java·网络·ddos
LHICOD2 小时前
Linux-2
java·linux·后端·jar·vmware·svm·vm
香蕉大香蕉(06敬畏市场)2 小时前
MySQL 单点详解(03)
java·数据库·mysql·面试·八股·大厂实习
小杨互联网2 小时前
Go 现代 CLI 工具离线镜像合集
开发语言·后端·golang·开源·go·命令行
lazy H2 小时前
【计算机网络】第 15 篇:Java BIO、NIO 与高并发网络通信——从 Socket 理解 I/O 模型
网络·后端·tcp/ip·计算机网络·nio·408