如何理解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依赖。
相关推荐
杨运交10 小时前
[071][验证码模块]基于Spring拦截器的验证码认证设计思想
java·后端·spring
Geek-Chow11 小时前
CountDownLatch in Java
java
LucianaiB11 小时前
我用豆包工作 Seed-2.1-pro,复刻了 QQ 时代爆红的魔术图片
后端
码事漫谈11 小时前
智谱 ZCode 静默上传 Git 历史:48 小时信任危机复盘
后端
SL_staff11 小时前
从RBAC到场景化授权:《无忧·企业文档》三级权限模型的技术实践解析
java·开源·产品
掘金码甲哥11 小时前
当对话模型遇上向量模型,vllm production stack 又该如何应对?
后端
传奇开心果编程12 小时前
【springboot基础语法学与练】第 1 课:从零开始
java·spring boot·后端·学习
SL_staff12 小时前
财务系统慎用低代码?从数据模型闭环看合规落地的技术实践
java·低代码·全栈
IT_陈寒12 小时前
Java线程池用错参数,我的服务居然悄悄崩溃了
前端·人工智能·后端
滕州市燕猫虎计算机科技工作室个体工商户12 小时前
IDEA:Command line is too long
java·ide·intellij-idea