一、准备工作
1.1 环境准备
bash
# 安装Claude Code
brew install anthropic/tap/claude-code # macOS
# 或访问 https://claude.ai/code 下载
# 验证安装
claude --version
1.2 创建项目目录
bash
mkdir -p my-springboot-project/.claude/skills
cd my-springboot-project
二、实战步骤1:安装dr-jskill搭建项目骨架
2.1 安装dr-jskill
bash
# 方式1:使用Claude Code安装
claude skills install github:jdubois/dr-jskill
# 方式2:手动克隆
git clone https://github.com/jdubois/dr-jskill ~/.claude/skills/dr-jskill
2.2 生成基础项目
bash
# 启动Claude Code
claude
# 输入提示词
"""
使用dr-jskill创建一个Spring Boot项目,要求:
- 使用PostgreSQL数据库
- 前端使用Vue.js
- 包含用户管理的CRUD功能
"""
2.3 验证项目结构
bash
tree -L 2
.
├── .claude/
│ └── skills/
│ └── dr-jskill/
├── src/
│ ├── main/
│ └── test/
├── pom.xml
└── docker-compose.yml
三、实战步骤2:安装agent-skill-java-spring-framework规范架构
3.1 安装架构规范Skill
bash
claude skills install github:AyrtonAldayr/agent-skill-java-spring-framework
3.2 生成符合规范的API代码
python
# 在Claude Code中输入
"""
使用agent-skill-java-spring-framework的规范:
1. 创建一个UserController
2. 使用RestClient进行外部API调用
3. 使用Java 25的Structured Concurrency
4. 使用Spring Modulith的模块化架构
"""
3.3 检查生成的代码
java
// UserController.java - 符合规范的代码示例
@RestController
@RequestMapping("/api/users")
@RequiredArgsConstructor
public class UserController {
private final UserService userService;
private final RestClient.Builder restClientBuilder;
@GetMapping
public ResponseEntity<List<UserDTO>> getAllUsers() {
try (var scope = new StructuredTaskScope<>()) {
var usersFuture = scope.fork(userService::findAll);
var rolesFuture = scope.fork(roleService::findAll);
scope.join();
return ResponseEntity.ok(usersFuture.result());
}
}
}
四、实战步骤3:sivalabs-agent-skills完善开发环境
4.1 安装社区最佳实践
bash
# 使用npx安装
npx skills add https://github.com/sivaprasadreddy/sivalabs-agent-skills --skill spring-boot
4.2 配置Spotless和Checkstyle
xml
<!-- pom.xml -->
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>2.43.0</version>
<configuration>
<java>
<googleJavaFormat>
<version>1.22.0</version>
</googleJavaFormat>
<importOrder>
<order>java,javax,jakarta,,org.springframework,,com.mycompany</order>
</importOrder>
</java>
</configuration>
</plugin>
4.3 配置Docker Compose
yaml
# docker-compose.yml
version: '3.8'
services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_DB: mydb
POSTGRES_USER: myuser
POSTGRES_PASSWORD: secret
ports:
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
volumes:
postgres-data:
五、实战步骤4:集成auth0/agent-skills实现安全认证
5.1 安装安全Skill
bash
git clone https://github.com/auth0/agent-skills ~/.claude/skills/auth0
5.2 配置Auth0
yaml
# application.yml
spring:
security:
oauth2:
resourceserver:
jwt:
issuer-uri: https://your-auth0-domain.com/
jwk-set-uri: https://your-auth0-domain.com/.well-known/jwks.json
auth0:
domain: your-auth0-domain.com
audience: https://your-api-identifier
5.3 生成安全配置
java
// SecurityConfig.java - 由Auth0 Skill生成
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Value("${auth0.domain}")
private String domain;
@Value("${auth0.audience}")
private String audience;
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(authz -> authz
.requestMatchers("/api/public").permitAll()
.anyRequest().authenticated()
)
.oauth2ResourceServer(oauth2 -> oauth2
.jwt(jwt -> jwt
.decoder(jwtDecoder())
.jwtAuthenticationConverter(jwtAuthenticationConverter())
)
);
return http.build();
}
}
六、实战步骤5:spring-testing-skills完善测试体系
6.1 安装测试Skill
bash
./mvnw skillsjars:extract -Ddir=~/.claude/skills
6.2 生成Repository测试
java
// UserRepositoryTest.java
@DataJpaTest
@Testcontainers
class UserRepositoryTest {
@Container
@ServiceConnection
static PostgreSQLContainer<?> postgres = new PostgreSQLContainer<>("postgres:16-alpine");
@Autowired
private UserRepository userRepository;
@Test
void shouldSaveAndFindUser() {
var user = new User("test@example.com", "Test User");
userRepository.save(user);
var found = userRepository.findByEmail("test@example.com");
assertThat(found).isPresent();
assertThat(found.get().getName()).isEqualTo("Test User");
}
}
6.3 生成Controller测试
java
// UserControllerTest.java
@WebMvcTest(UserController.class)
@WithMockUser
class UserControllerTest {
@Autowired
private MockMvcTester mockMvc;
@MockBean
private UserService userService;
@Test
void shouldReturnAllUsers() throws Exception {
given(userService.findAll()).willReturn(List.of(
new UserDTO(1L, "user1@example.com"),
new UserDTO(2L, "user2@example.com")
));
mockMvc.get().uri("/api/users")
.accept(MediaType.APPLICATION_JSON)
.perform()
.andExpectAll(
status().isOk(),
jsonPath("$.length()").isEqualTo(2)
);
}
}
6.4 运行测试
bash
# 运行所有测试
./mvnw test
# 运行特定测试
./mvnw test -Dtest=UserRepositoryTest
七、实战步骤6:spring-ai-agent-utils构建自定义Agent
7.1 添加依赖
xml
<!-- pom.xml -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springaicommunity</groupId>
<artifactId>spring-ai-agent-utils-bom</artifactId>
<version>0.7.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springaicommunity</groupId>
<artifactId>spring-ai-agent-utils</artifactId>
</dependency>
</dependencies>
7.2 配置ChatClient
java
// AgentConfig.java
@Configuration
public class AgentConfig {
@Bean
public ChatClient chatClient(
FileSystemTools fileSystemTools,
ShellTools shellTools,
GrepTool grepTool) {
return ChatClient.builder()
.defaultTools(fileSystemTools, shellTools, grepTool)
.build();
}
}
7.3 企业级API聚合
对于企业级应用,可以通过API聚合平台(如weelinking等)统一管理ChatClient的API调用:
java
// 企业级ChatClient配置
@Configuration
public class EnterpriseChatClientConfig {
@Bean
public ChatClient enterpriseChatClient(
@Value("${weelinking.api.key}") String apiKey) {
return ChatClient.builder()
.baseUrl("https://api.weelinking.com/v1")
.defaultHeader("Authorization", "Bearer " + apiKey)
.build();
}
}
八、完整项目流程总结
8.1 Skill安装清单
bash
# 1. 安装项目脚手架
claude skills install github:jdubois/dr-jskill
# 2. 安装架构规范
claude skills install github:AyrtonAldayr/agent-skill-java-spring-framework
# 3. 安装最佳实践
npx skills add https://github.com/sivaprasadreddy/sivalabs-agent-skills --skill spring-boot
# 4. 安装安全集成
git clone https://github.com/auth0/agent-skills ~/.claude/skills/auth0
# 5. 安装测试技能
./mvnw skillsjars:extract -Ddir=~/.claude/skills
8.2 开发流程
1. 项目初始化 → dr-jskill
2. 架构规范 → agent-skill-java-spring-framework
3. 开发环境 → sivalabs-agent-skills
4. 安全集成 → auth0/agent-skills
5. 测试体系 → spring-testing-skills
6. 自定义Agent → spring-ai-agent-utils
8.3 验证清单
- 项目结构符合Spring Boot标准
- 使用现代API(RestClient、Structured Concurrency)
- 模块化架构清晰
- 测试覆盖率达标
- 安全配置正确
- 代码格式化规范
九、常见问题解决
9.1 Token消耗过高
问题:新版分词器导致Token消耗增加约30%
解决方案:
yaml
# 在Skill配置中优化
skill:
token_optimization:
use_compressed_prompts: true
cache_responses: true
9.2 Skill冲突处理
问题:多个Skill的规则冲突
解决方案:
bash
# 按优先级加载
claude skills load --priority dr-jskill,sivalabs-agent-skills
9.3 CI/CD集成
yaml
# .github/workflows/build.yml
name: Build with Claude Skills
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Skills
run: |
npx skills add https://github.com/sivaprasadreddy/sivalabs-agent-skills --skill spring-boot
- name: Build
run: ./mvnw verify
十、总结
通过这6个核心Skill,你可以快速搭建一个符合企业级标准的Spring Boot项目。
| Skill | 解决的问题 |
|---|---|
| dr-jskill | 快速项目初始化 |
| agent-skill-java-spring-framework | 架构规范约束 |
| sivalabs-agent-skills | 开发环境配置 |
| auth0/agent-skills | 安全认证集成 |
| spring-testing-skills | 测试体系建立 |
| spring-ai-agent-utils | 自定义Agent开发 |
#ClaudeCode #SpringBoot #实战教程 #AI编程
📖 推荐阅读
如果这篇对你有帮助,以下文章你也会喜欢: