关于 coding-java
coding-java 是面向 Java 21+ 和 Spring Boot 3 开发者的技能,涵盖现代语言特性、并发处理,以及 Maven 或 Gradle 构建流程。
主要功能
- 01使用 Java record 和密封类
- 02在 switch 中进行模式匹配
- 03通过虚拟线程处理并发
- 04开发 Spring Boot 3 应用
- 05使用 Maven 和 Gradle 构建
适用场景
- 01用 record 建模不可变数据
- 02用密封类型限制继承范围
- 03构建 Spring Boot 3 后端 API
- 04通过虚拟线程运行并发任务
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill coding-java安装后在 Claude Code 中输入/coding-java确认已加载。
详细介绍
coding-java
用途
此技能可帮助 AI 进行 Java 21+ 开发,重点涵盖现代特性,例如 record、密封类、模式匹配和 Project Loom 的虚拟线程,以及使用 Maven 或 Gradle 进行构建和依赖管理的 Spring Boot 3 应用。
适用场景
当项目需要使用 Java 21+ 语法时,可使用此技能,例如实现用于限制继承的密封类、在 switch 语句中使用模式匹配,或使用虚拟线程构建可扩展应用。也可将其用于 Spring Boot 3 后端开发,或使用 Maven/Gradle 管理企业级 Java 应用的构建。
核心功能
- 处理不可变数据类的 Java record:使用
record Point(int x, int y) {}定义。 - 实现用于限制子类的密封类:使用
sealed interface Shape permits Circle, Square {}。 - 使用 switch 中的模式匹配:示例:
switch (obj) { case String s -> process(s); default -> handleDefault(); }。 - 管理并发所用的虚拟线程:在 Java 21+ 中使用
Thread.startVirtualThread(() -> task());启动。 - 构建 Spring Boot 3 应用:使用
@SpringBootApplication进行配置,并使用嵌入式 Tomcat。 - 自动化构建:运行 Maven 命令
mvn spring-boot:run或 Gradle 命令gradle bootRun来编译项目。
使用模式
要完成任务,请准确组织代码或命令。例如,要为数据模型创建 Java record:
- 编写:
public record User(String name, int age) {}。 - 在 main 方法中使用:
User user = new User("Alice", 30); System.out.println(user);。
另一个示例:使用虚拟线程设置 Spring Boot 3 应用。
- 在 pom.xml 中添加依赖:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>。 - 在控制器中:
@RestController public class MyController { @GetMapping("/") public String home() { Thread.startVirtualThread(() -> logMessage()); return "Hello"; } }。 - 使用 Maven 运行:
mvn spring-boot:run --define spring.threads.virtual.enabled=true。
常用命令/API
使用以下准确命令构建和运行项目:
- Maven:使用
mvn clean install -DskipTests进行编译;使用mvn spring-boot:run启动应用。 - Gradle:使用
gradle build --no-daemon进行编译;使用gradle bootRun --args='--server.port=8080'运行。 - 用于虚拟线程的 Java API:
ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor(); executor.submit(() -> { /* task code */ });。 - Spring Boot API:定义
@GetMapping("/api/data") public ResponseEntity<?> getData() { return ResponseEntity.ok(data); }后,访问http://localhost:8080/api/data等端点。 - 配置格式:使用 application.properties 设置配置,例如
server.port=8080;也可使用 YAML:server: port: 8080。
集成说明
通过设置环境变量来配置安全密钥,例如为 Spring Boot 中的外部服务导出 $SPRING_API_KEY。对于 IDE,可添加 Spring Tools Suite 等插件并配置构建工具:在 VS Code 中使用 Maven/Gradle 扩展。要连接数据库,请在 build.gradle 中添加依赖:implementation 'org.springframework.boot:spring-boot-starter-data-jpa',然后在 application.yml 中配置数据源:spring.datasource.url=jdbc:mysql://localhost/dbname。确保通过 SDK 管理器设置 Java 21+。
错误处理
按指导处理错误:构建失败时,检查日志中的 "Compilation error" 并修复语法问题,例如,如果误用了密封类,请确保定义了所有许可的子类。对于虚拟线程,使用 try { Thread.startVirtualThread(() -> { throw new RuntimeException(); }); } catch (Exception e) { log.error(e.getMessage()); } 捕获 InterruptedException。在 Spring Boot 中,使用 @ExceptionHandler 处理 API 错误:@ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(Exception.class) public ResponseEntity<?> handleError(Exception e) { return ResponseEntity.status(500).body("Error: " + e.getMessage()); } }。对于 Maven/Gradle,使用 --debug 标志进行诊断,例如,mvn clean install --debug。
图关系
- 相关:coding-general(通过集群 'coding' 共享编码工具)。
- 已连接:coding-python(用于跨语言开发模式)。
- 链接至:devops-deployment(用于将 Java 构建集成到 CI/CD 管道)。