如何理解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依赖。
相关推荐
唐青枫8 小时前
Java Gradle 实战指南:从 Wrapper、Kotlin DSL 到 Spring Boot 多模块构建
java·kotlin·gradle
JavaGuide8 小时前
Kimi K3 实战:全栈项目、Java 项目改造与 3A 游戏 Demo
后端·ai编程
带刺的坐椅8 小时前
Solon TeamAgent 协作协议:从 SEQUENTIAL 流水线到 HIERARCHICAL 主管团队
java·ai·llm·agent·solon
AskHarries8 小时前
PayPal 接入避坑
后端
谭光志8 小时前
深入浅出 RAG:用一个可运行的 Demo 讲透完整链路
前端·后端·ai编程
wuqingshun3141598 小时前
SpringBoot是如何实现自动配置的
java·spring boot·后端
用户053704031438 小时前
我的学习记录泛型
java
zhouhui0018 小时前
AI帮我写了个Spring Boot校验,线上漏掉了这组边界条件
java·spring boot·redis·ai编程
道友可好8 小时前
前端工程师的 AI 时代生存指南
前端·人工智能·后端