文章

Spring Boot 学习笔记:自动装配与常用组件

更新于 2026/09/20牛耕田

暂存笔记,持续补充中。面向 Java 后端方向的 Spring Boot 知识体系。

一、核心机制:自动装配#

  • 启动类 @SpringBootApplication 组合了 @SpringBootConfiguration + @EnableAutoConfiguration + @ComponentScan。
  • 自动装配:@EnableAutoConfiguration 通过 spring.factories / AutoConfiguration.imports 加载 XxxAutoConfiguration,配合 @ConditionalOnXxx 按条件生效。
  • 原理一句话:按需装配 Bean,约定优于配置。

二、starter 机制#

spring-boot-starter-xxx 是把一组相关依赖「打包」的坐标,减少版本冲突(统一由 BOM 管理)。常见:web、data-redis、data-jpa、mybatis(第三方)。

三、配置文件#

  • application.yml / application.properties,支持 profile 隔离:application-dev.yml、application-prod.yml。
  • 优先级:命令行参数 > 环境变量 > 配置文件 > 默认值。
  • 自定义配置用 @ConfigurationProperties + @Component,或 @Value。
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/blog
username: root
password: "123456"

四、常用注解#

注解作用
@RestController@Controller + @ResponseBody,返回 JSON
@RequestMapping / @GetMapping / @PostMapping路由映射
@RequestBody / @PathVariable / @RequestParam参数绑定
@Service / @Repository / @Component组件注册
@Autowired / @Resource依赖注入
@Transactional声明式事务
@Slf4jLombok 日志

五、常用整合#

  • 数据源:spring-boot-starter-jdbc + HikariCP(默认连接池)。
  • Redis:spring-boot-starter-data-redis,注入 StringRedisTemplate。
  • 校验:spring-boot-starter-validation,@Valid + @NotNull 等。
  • 单元测试:spring-boot-starter-test + @SpringBootTest。

六、常见坑#

  1. 循环依赖 → 用构造器注入或 @Lazy,或重构。
  2. 配置不生效 → 检查 profile、包扫描路径、@Component 是否被扫描到。
  3. @Transactional 失效 → 同类内部调用不走代理、异常被捕获吞掉、非 public 方法。

本文为暂存笔记,后续补充完整示例项目。

返回主页