spring boot起步依赖是通过声明式引入简化搭建的预设maven依赖集合,按场景选官方starter、继承spring-boot-starter-parent父工程、自动配置生效且支持application.yml属性覆盖。

Spring Boot 的起步依赖(Starter)不是“配置”出来的,而是通过 声明式引入 实现简化搭建的。它本质是一组预设好版本、已做兼容性验证的 Maven 依赖集合,你只需在 pom.xml 中加一行,就能自动拉取整套功能所需的所有 jar 包和默认行为。
选对 Starter:按场景直接引入官方命名依赖
Spring Boot 官方 Starter 都遵循 spring-boot-starter-xxx 命名规范,Maven 会自动解析其内部传递依赖。常见用法:
-
Web 开发 → 添加
spring-boot-starter-web:自带嵌入式 Tomcat、Spring MVC、Jackson JSON 处理,无需手动配 DispatcherServlet 或 web.xml -
JPA 持久层 → 添加
spring-boot-starter-data-jpa:含 Hibernate、HikariCP 连接池、JPA Repository 支持,自动扫描@Entity -
Redis 缓存 → 添加
spring-boot-starter-data-redis:自动配置RedisTemplate和 Lettuce 客户端,开箱即连 -
安全控制 → 添加
spring-boot-starter-security:默认启用 Basic 认证,配合@EnableWebSecurity可快速定制权限规则
父工程必须声明:统一管理版本与插件
起步依赖能“免版本冲突”,靠的是继承 Spring Boot 提供的父 POM。在 pom.xml 顶部必须写明:
<parent><groupid>org.springframework.boot</groupid><artifactid>spring-boot-starter-parent</artifactid><version>3.5.6</version><relativepath></relativepath></parent>
这个 parent 已锁定所有 Starter 内部依赖的版本号(如 Spring Framework、Tomcat、Jackson),你引入任意 Starter 都不会出现版本不匹配问题。
不用写配置也能跑起来
只要引入对应 Starter,Spring Boot 就会根据类路径内容自动触发 @EnableAutoConfiguration,完成 Bean 注册。例如:
- 加了
spring-boot-starter-web,启动类加上@SpringBootApplication,写个@RestController,就能直接访问http://localhost:8080/hello - 加了
spring-boot-starter-data-jpa并配置了spring.datasource.*,项目启动时就会自动创建DataSource、JpaTransactionManager和LocalContainerEntityManagerFactoryBean
需要改默认值?只动 application.yml/properties
Starter 提供的默认行为完全支持覆盖,无需动代码或 XML:
- 改 Web 端口:
server.port=9090 - 换数据库驱动:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver - 关掉 JPA 自动建表:
spring.jpa.hibernate.ddl-auto=none - 指定 Redis 地址:
spring.redis.host=localhost
这些属性名都由 Starter 内置的 *Properties 类定义,IDE 通常支持自动提示。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











