用途:为使用 Spring Boot 开发应用提供一套最佳实践指导,帮助编写高质量代码。
主要能力与建议: 项目结构:用 Maven(pom.xml)或 Gradle(build.gradle)管理依赖;使用 Spring Boot starters(如 spring-boot-starter-web、spring-boot-starter-data-jpa)简化依赖;按功能/领域而非按层组织包结构。 依赖注入:必需依赖使用构造器注入,字段声明为 private final,合理使用 @Component、@Service、@Repository、@Controller/@RestController。 配置:使用 application.yml 或 application.properties 外部化配置,用 @ConfigurationProperties 做类型安全绑定,用 Spring Profiles 管理环境差异,禁止硬编码密钥,改用环境变量或 Vault、AWS Secrets Manager。 Web 层:设计一致的 RESTful 端点,使用 DTO 而非直接暴露 JPA 实体,用 JSR 380 注解(@Valid、@NotNull、@Size)校验请求,用 @ControllerAdvice 与 @ExceptionHandler 做全局异常处理。 服务层:业务逻辑放入 @Service,保持无状态,用 @Transactional 在合适粒度管理事务。 数据层:继承 JpaRepository 或 CrudRepository,复杂查询用 @Query 或 Criteria API,用 DTO 投影只取必要数据。 日志:使用 SLF4J,声明 private static final Logger,采用参数化日志而非字符串拼接。 测试:用 JUnit 5 与 Mockito 写单元测试,用 @SpringBootTest 做集成测试,用 @WebMvcTest、@DataJpaTest 做切片测试,可考虑 Testcontainers。 安全:使用 Spring Security,密码用 BCrypt 等强哈希编码,通过 JPA 或参数化查询防 SQL 注入,妥善编码输出防 XSS。
限制:以上为原则性实践,未提供具体代码示例、安装命令或版本要求;实际落地需结合项目情况调整。