读书笔记 -- Spring Boot3 核心技术 Chapter3 Spring Boot Starter 与自动配置
1.读书笔记 -- Spring Boot3 核心技术 Chapter1 Spring Boot 基础入门2.读书笔记 -- Spring Boot3 核心技术 Chapter2 Spring Boot 配置管理3.读书笔记 -- Spring Boot3 核心技术 Chapter5 Spring Boot 日志管理4.读书笔记 -- Spring Boot3 核心技术 Chapter4 Spring Boot 启动过程与扩展应用
5.读书笔记 -- Spring Boot3 核心技术 Chapter3 Spring Boot Starter 与自动配置
3.1 概述
一个完整的 Spring Boot Starter 一般包含以下组件:
- 完成自动配置的自动配置模块;
- 为自动配置模块提供的所有依赖项;
Spring Boot 官方 Starter 启动器: spring-boot-starter-*
第三方 Starter 启动器:*-spring-boot-starter
3.3 Starter 的分类
1. application starter:如 spring-boot-starter、spring-boot-starter-amqp.....
2. production starter:spring-boot-starter-actuator。仅此一项,提供生产功能以帮助开发者监控和管理应用;
3. technical starter:如 spring-boot-starter-jetty...。目的是帮助开发者排除或替换 Spring Boot 框架内部默认的技术组件;
3.4 自动配置
1. 新旧自动配置文件
旧的自动配置文件 META-INF/spring.factories 仅保留 系统级别的组件注册,不再作为应用级别的自动配置类的注册文件。
3.4.6 排除自动配置
1. 使用 @SpringBootApplication 注解
// @exclude 排除指定类 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) public class Application { // ... } // @excludeName 排除类名全路径 @SpringBootApplication(excludeName = {"org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration"}) public class Application { // ... }
2. 使用 @EnableAutoConfiguration 注解
// @exclude 排除指定类 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) public class Application { // ... } // @excludeName 排除类名全路径 @SpringBootApplication(excludeName = {"org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration"}) public class Application { // ... }
3. 统一的排除方案(适用于 Spring Boot 和 Spring Cloud)
spring:
autoconfigure:
exclude:
- org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration
3.4.7 替换自动配置
如果应用有自己的 @Bean,则默认自动配置类中的 @Bean 就不会再重复注册。所以,如果 Spring Boot 提供的默认配置不满足要求,那么完全可以在应用中提供自定义的配置来替换默认的配置。
合集:
SprintBoot3核心技术
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)