Spring Boot 基础
约 698 字大约 2 分钟
布欧-Lewyon
2026-05-16
首页 › Java › Spring Boot › Spring Boot 基础
Spring Boot 的核心价值可以归结为两点:起步依赖(starter)简化 Maven 配置,自动配置(auto-configuration)根据类路径和配置属性自动装配 Bean。
第一个应用
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}@SpringBootApplication 是三个注解的合成:
@SpringBootConfiguration:标志为配置类。@EnableAutoConfiguration:启用自动配置机制。@ComponentScan:扫描当前包及其子包中的@Component/@Service/@Controller等。
起步依赖
Spring Boot 将常用库的版本和依赖封装为 starter,引入一个 starter 即可获得完整的功能栈,无需手动管理版本:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.0</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>常见 starter:
| Starter | 功能 |
|---|---|
spring-boot-starter-web | Web(含内嵌 Tomcat、Spring MVC) |
spring-boot-starter-data-jpa | JPA + Hibernate |
spring-boot-starter-jdbc | JDBC + 连接池(HikariCP) |
spring-boot-starter-test | JUnit 5 + Mockito + AssertJ |
spring-boot-starter-actuator | 监控与健康检查 |
application.yml
Spring Boot 使用 application.yml(或 application.properties)管理配置:
server:
port: 8080
spring:
datasource:
url: jdbc:h2:mem:testdb
driver-class-name: org.h2.Driver
username: sa
password:
jpa:
hibernate:
ddl-auto: create-drop
show-sql: trueProfile 配置
为不同环境准备独立的配置文件:
# application-dev.yml
server:
port: 8080
# application-prod.yml
server:
port: 80启动时通过 --spring.profiles.active=prod 或环境变量 SPRING_PROFILES_ACTIVE=prod 激活。
自定义配置
app:
upload-dir: /data/uploads
max-file-size: 10MB@Component
@ConfigurationProperties(prefix = "app")
public class AppProperties {
private Path uploadDir;
private DataSize maxFileSize;
// getter/setter
}Actuator:健康检查与监控
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>management:
endpoints:
web:
exposure:
include: health,info,metrics启动后访问 /actuator/health 返回应用健康状态,/actuator/info 返回自定义信息,/actuator/metrics 返回 JVM 指标。
打包与运行
mvn clean package -DskipTests
java -jar target/my-app-1.0.0.jarSpring Boot Maven 插件自动将应用打包为可执行 JAR(内嵌 Tomcat),无需外部容器。
小结
@SpringBootApplication开启自动配置和组件扫描,是应用的入口。- 起步依赖(starter)封装常用库的可运行版本组合,省去版本管理。
application.yml分层配置,Profile 实现环境隔离,@ConfigurationProperties类型安全读取配置。- Actuator 提供生产级监控端点(健康检查、指标)。
- Spring Boot Maven 插件将应用打包为可执行 JAR,
java -jar直接运行。 - 易错:
application.yml的缩进必须严格对齐(空格而非 Tab)。@SpringBootApplication默认只扫描其所在包及其子包,若入口类放在包外则扫描不到@Service/@Controller。 - 思考任务:创建一个 Spring Boot 应用,使用
application.yml配置数据源和服务器端口,添加 Actuator 依赖,启动后访问/actuator/health确认应用健康。
上一节:Spring 数据访问
