Spring Boot 是基于 Spring 框架的快速开发脚手架,通过约定优于配置的设计理念,简化了 Spring 应用的初始化搭建和开发过程。主要优势包括:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
通过@SpringBootApplication
注解触发自动配置机制,Spring Boot 会根据:
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
Starter 将相关依赖组合打包,实现依赖管理和版本兼容性保障
management:
endpoints:
web:
exposure:
include: "*"
通过暴露/actuator
端点,提供应用健康检查、指标收集等运维能力
支持多环境配置,优先级从高到低:
# application-dev.properties
server.port=8081
spring.datasource.url=jdbc:mysql://localhost:3306/dev_db
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello(@RequestParam String name) {
return "Hello " + name + "!";
}
}
mvn spring-boot:run
访问 http://localhost:8080/hello?name=SpringBoot
查看响应
src/main/java
└── com.example
├── config # 配置类
├── controller # Web层
├── service # 业务逻辑
└── repository # 数据访问
@ConfigurationProperties
绑定配置spring-cloud-config-server
@Bean
public MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return registry -> registry.config().commonTags("application", "demo-app");
}
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-dependenciesartifactId>
<version>${spring-boot.version}version>
<type>pomtype>
<scope>importscope>
dependency>
dependencies>
dependencyManagement>
@SpringBootTest
@AutoConfigureMockMvc
class HelloControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
void shouldReturnHelloMessage() throws Exception {
mockMvc.perform(get("/hello?name=Test"))
.andExpect(status().isOk())
.andExpect(content().string("Hello Test!"));
}
}
通过spring-boot-autoconfigure
模块中的spring.factories
文件定义自动配置类,使用@Conditional
系列注解实现条件装配
Spring Boot 通过智能的默认配置降低了 Spring 应用的入门门槛,但其核心仍然是 Spring 框架的扩展。建议新手在掌握基础用法后,深入学习以下方向: