java-springboot skill 描述了 Spring Boot 应用开发的最佳实践,涵盖项目结构、依赖注入、配置管理、Web 层、服务层、数据层、日志、测试及安全等核心维度,旨在指导开发者构建高质量、可维护的企业级应用。
项目组织层面,推荐采用 Maven 或 Gradle 构建工具,善用 Spring Boot starters 简化依赖管理,并按功能域(如 order、user)而非技术分层(controller、service)组织包结构,以提升代码内聚性。依赖注入强制使用构造器注入配合 private final 字段,确保依赖显式、不可变且便于测试;组件职责需通过 @Service、@Repository、@RestController 等注解清晰界定。
配置与运行时方面,主张以 YAML 实现外部化配置,借助 @ConfigurationProperties 完成类型安全绑定,并通过 Spring Profiles 隔离多环境差异,严禁硬编码密钥,须采用环境变量或 HashiCorp Vault 等专用工具管控敏感信息。Web 层要求设计规范的 RESTful 接口,以 DTO 隔离 JPA 实体,结合 JSR 380 注解实现请求校验,并通过 @ControllerAdvice 统摄全局异常处理。服务层承担全部业务逻辑,保持无状态,按最小粒度声明 @Transactional;数据层依托 Spring Data JPA 标准化 CRUD,复杂场景选用 @Query 或 Criteria API,并运用 DTO 投影避免冗余字段回传。
工程化保障涵盖日志、测试与安全三大支柱。日志采用 SLF4J 接口,以参数化消息替代字符串拼接;测试体系分层明确,单元测试基于 JUnit 5 与 Mockito,集成测试通过 @SpringBootTest 加载完整上下文,并辅以 @WebMvcTest、@DataJpaTest 等切片注解实现隔离测试,Testcontainers 则为中间件集成提供真实环境。安全维度整合 Spring Security 实现认证授权,密码必须经 BCrypt 强哈希,同时通过参数化查询防御 SQL 注入、输出编码抵御 XSS 攻击,全方位加固应用防线。
安装技能:
npx skills add https://github.com/github/awesome-copilot --skill java-springboot