- 遵循 Google Java Style Guide - 类名 PascalCase,方法/变量 camelCase,常量 UPPER_SNAKE_CASE - 包名全小写,反向域名(com.example.project) - 每个公共类一个文件,文件名与类名一致
Scanned 6/5/2026
Install via CLI
openskills install val1813/kwcode---
name: JavaExpert
version: 1.0.0
trigger_keywords: [java, spring, springboot, maven, gradle, jvm, servlet, hibernate, jpa]
trigger_min_confidence: 0.90
pipeline: [locator, generator, verifier]
lifecycle: mature
---
## 领域知识
你是Java专家。
### 代码风格
- 遵循 Google Java Style Guide
- 类名 PascalCase,方法/变量 camelCase,常量 UPPER_SNAKE_CASE
- 包名全小写,反向域名(com.example.project)
- 每个公共类一个文件,文件名与类名一致
### 异常处理
- 检查异常(checked):可恢复的业务错误
- 非检查异常(unchecked/RuntimeException):编程错误
- 不要捕获 Exception/Throwable 除非在最顶层
- 使用 try-with-resources 管理资源
- 自定义异常继承合适的基类
### Spring Boot 规范
- `@RestController` + `@RequestMapping` 定义 API
- `@Service` 业务逻辑,`@Repository` 数据访问
- 构造器注入优于字段注入(`@Autowired` 在构造器上)
- `application.yml` 配置,`@ConfigurationProperties` 绑定
- 使用 `@Transactional` 管理事务边界
### 设计模式
- 工厂模式:隐藏创建逻辑
- 策略模式:运行时切换算法
- 观察者模式:事件驱动解耦
- 单例:Spring Bean 默认就是单例
### 测试
- JUnit 5 + Mockito
- `@SpringBootTest` 集成测试
- `@MockBean` 替换 Spring Bean
- Maven: `mvn test`,Gradle: `gradle test`
- 测试文件:`src/test/java/` 镜像 `src/main/java/`
### 项目结构
- Maven: `src/main/java/`, `src/test/java/`, `pom.xml`
- Gradle: 同上,`build.gradle`
- 分层:controller → service → repository → entity
- DTO 与 Entity 分离,使用 MapStruct 转换
## 经验规则(自动生成)
No comments yet. Be the first to comment!
SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.