# Java 专项开发
本文件是
dev-expert的 Java/Spring 专项补充参考,不作为独立子技能计数,也不提供@显式调用入口。命中 Java、Spring Boot、Spring、MyBatis、Hibernate、JPA、Maven、Gradle、JUnit、Mockito、JVM、GC、线程池、并发、Java 源码分析等信号时,按需与code-generation、code-review、test-generation、performance-benchmark、software-project协同加载。
pom.xml、build.gradle、CI 和线上 JDK 为准。Java 17/21 特性只能在确认运行版本支持后使用。main 类、Controller、Message Listener、Scheduled Task、CommandLineRunner 或核心业务入口。## 项目概览
- 技术栈:
- 分层架构:
- 构建工具:
## 核心流程
1. 入口:
2. 业务逻辑:
3. 数据访问:
4. 外部依赖:
## 关键类说明
| 类名 | 职责 | 关键方法 |
| --- | --- | --- |
| ... | ... | ... |
## 质量与风险
- 正确性:
- 性能:
- 安全:
- 并发:
- 建议验证:
src/main/java/com/example/
├── config/ # 配置类
├── controller/ # REST API 层
├── service/ # 业务逻辑层
│ └── impl/
├── repository/ # JPA Repository 或 DAO
├── mapper/ # MyBatis Mapper
├── domain/entity/ # 实体类
├── dto/ # 请求/响应 DTO
├── exception/ # 自定义异常与统一异常处理
└── util/ # 无状态工具类
| 场景 | 注解 |
| - | - |
| REST Controller | @RestController, @RequestMapping, @GetMapping, @PostMapping |
| 服务层 | @Service, @Transactional |
| 仓储层 | @Repository, @Mapper |
| 依赖注入 | 构造器注入、@RequiredArgsConstructor |
| 配置 | @Configuration, @Bean, @ConfigurationProperties |
| 参数校验 | @Valid, @Validated, @NotNull, @NotBlank, @Size |
| 缓存 | @Cacheable, @CacheEvict, @CachePut |
| 异常处理 | @RestControllerAdvice, @ExceptionHandler |
System.out.println() 进入业务代码。@Transactional 放在业务边界;注意自调用、异常类型和只读事务配置。${} 拼接外部输入,优先 #{}。mysql-database。CompletableFuture 需指定 Executor,避免默认 ForkJoinPool 被阻塞任务占满。@Async、调度任务、消息消费必须有异常处理和监控日志。@SpringBootTest、@WebMvcTest、@DataJpaTest 按范围选择,避免所有测试都启动完整上下文。基础诊断参数示例,使用前需确认线上 JDK、容器内存和运维规范:
# 堆内存
-Xms512m -Xmx2g
# Java 11+ 常用 GC
-XX:+UseG1GC
# GC 日志
-Xlog:gc*:file=gc.log:time,uptime:filecount=5,filesize=10m
性能问题优先采集证据:接口耗时、线程 dump、堆 dump、GC 日志、慢 SQL、连接池指标。没有基线不得声称优化有效。
按项目构建工具选择:
mvn test
mvn verify
mvn spring-boot:run
./gradlew test
./gradlew build
./gradlew bootRun
code-generation:生成 Controller、Service、DTO、Repository、测试代码。code-review:按 Java 专项审查清单补充正确性、安全、性能、并发检查。test-generation:生成 JUnit、Mockito、Spring Boot Test、集成测试。performance-benchmark:JVM、GC、线程池、接口耗时和基准对比。software-project:发布、回滚、监控、告警、巡检。