用途:在构建 Spring Boot 3.3+ 应用、配置 Bean、实现 REST 服务或编写服务层时加载,提供统一的编码规范。
主要能力与规则:
- 依赖注入必须使用构造器注入,构造器上不加 @Autowired,禁止字段注入,以保证可测试性与依赖显式化。
- 配置使用 @ConfigurationProperties(prefix="app") 配合 record 与 @Validated、Jakarta 校验注解,集中管理并校验配置,避免散落的 @Value。
- @Transactional 只放在服务方法上,禁止放在控制器或已继承事务的仓储方法上;只读查询方法使用 @Transactional(readOnly = true)。
- 请求 DTO 使用 record 加 @Valid 注解;异常处理集中在 @RestControllerAdvice 中,控制器内不重复 try/catch 业务异常。
- 仓储继承 JpaRepository<Entity, Id>,支持派生查询、@Query 与分页。
- 单元测试使用 @ExtendWith(MockitoExtension.class) 并通过构造器传入 mock。
使用方式:按上述模式编写控制器、服务、配置类与仓储;示例中给出 REST 控制器、服务、全局异常处理与仓储的写法,以及 application.yml 中 app.* 配置结构。
适用场景:Spring Boot 3.3+ 后端服务开发,尤其是需要可测试、配置集中、事务边界清晰的 REST 应用。
限制:资料未提供安装命令、依赖坐标、版本兼容细节、性能数据或收费信息;具体实现需结合项目实际环境。