Java 가이드
Kiro와 함께 Java 프로젝트를 구성하고, 코드를 분석하고, 디버깅 효율을 높이는 방법을 정리합니다.
개요
Kiro는 Java 프로젝트의 코드 작성, 리팩터링, 디버깅 단계를 AI 보조로 가속합니다. Spring Boot, Maven, Gradle 같은 표준 도구 위에 자연스럽게 얹혀 동작하며, 반복적인 작업을 줄여 비즈니스 로직에 집중할 수 있게 해 줍니다.
사전 준비
- JDK: JDK 17 이상을 권장합니다. 무료 OpenJDK 배포판으로 Amazon Corretto를 추천합니다.
- 빌드 도구: Maven 또는 Gradle
- Git: 버전 관리를 위해 필수
확장 프로그램
Kiro는 Open VSX 마켓플레이스의 다음 확장을 지원합니다.
- Extension Pack for Java (
vscjava/vscode-java-pack) — Language Support, Debugger, Test Runner, Maven, Project Manager, IntelliCode 묶음 - Spring Boot Extension Pack (
vmware/vscode-spring-boot) — Spring Boot Tools, Initializr Java Support, Spring Boot Dashboard - Gradle for Java (
vscjava/vscode-gradle) - Maven for Java (
vscjava/vscode-maven) - Markdown Preview Enhanced (
shd101wyy/markdown-preview-enhanced)
개발 환경 다루기
프로젝트 구성과 구조
Kiro에게 프로젝트 초기화부터 의뢰할 수 있습니다. 예를 들어 “JUnit 5와 Mockito가 포함된 Gradle 프로젝트 생성”, “멀티 모듈 Maven 프로젝트 골격 구성” 같이 자연어로 지시하면 디렉터리 구조와 빌드 파일까지 한꺼번에 만들어 줍니다.
코드 분석과 리팩터링
- 코드 품질 분석 및 개선 포인트 제시
- 메서드 추출, 이름 변경, 구조 재배치 같은 리팩터링 보조
- 적합한 디자인 패턴 적용 안내
디버깅 보조
NullPointerException,ConcurrentModificationException같은 흔한 예외의 원인 설명- 해결 방안 제안
- 런타임 동작 추적 지원
Steering
Kiro는 작업 시작 시 세 종류의 기본 steering 문서를 자동으로 생성합니다.
- Product brief (
product.md) - Technical Stack (
tech.md) - Project Structure (
structure.md)
커스텀 steering 파일 만들기
- 사이드바에서 Kiro 뷰로 이동합니다.
- Agent Steering 섹션의
+버튼을 클릭합니다. - 제목을 입력합니다.
- 마크다운 형식으로 내용을 작성합니다.
생성된 파일은 .kiro/steering/ 아래에 보관됩니다.
프로젝트 컨벤션 정의
예시로 java-conventions.md를 만들어 다음과 같은 합의 사항을 적어 둘 수 있습니다.
- 아키텍처 패턴: hexagonal architecture, CQRS, Domain-Driven Design
- 테스트 전략: 단위 테스트, TestContainers, 최소 80% 커버리지, AAA(Arrange, Act, Assert) 패턴
- 에러 처리: 도메인 예외 클래스,
@ControllerAdvice, correlation ID, 일관된 에러 응답 포맷 - 성능 가이드: 커넥션 풀, 캐싱, 비동기 처리, 쿼리 최적화
프레임워크별 가이드
spring-boot-patterns.md 같은 파일을 따로 두어 Spring Boot 관행을 명시할 수 있습니다.
- 컴포넌트 구조:
@RestController,@Service,@Repository,@Component역할 구분 - 의존성 주입: 생성자 주입을 우선하고
final필드를 사용하며, 순환 의존성을 피함 - API 설계: REST 원칙, 적절한 HTTP 메서드(GET, POST, PUT, DELETE), 정확한 상태 코드, DTO 사용
Agent Hooks
Java 프로젝트에서 자주 쓰이는 hook 활용 사례입니다.
- 파일 저장 시 JUnit 테스트 자동 생성
- Checkstyle 또는 SpotBugs 실행
- 오래된 Maven/Gradle 의존성 점검
- JavaDoc 생성 및 업데이트
- Spring Boot 설정 파일 검증
- Google Java Format으로 코드 정리
MCP 서버
Maven MCP Server
Kiro 설정에 다음 항목을 추가하면 Kiro가 Maven 명령을 직접 실행하고 빌드 이슈를 분석하며 의존성을 정리할 수 있습니다.
{
"mcpServers": {
"maven": {
"command": "uvx",
"args": ["maven-mcp-server@latest"]
}
}
}
더 많은 서버는 AWS MCP Servers와 Awesome MCP Servers에서 찾을 수 있습니다.
이슈 디버깅
코드 위에서 바로 Kiro에게 문의할 수 있는 세 가지 진입점이 있습니다.
- Inline Chat:
Cmd/Ctrl + I - Add to Chat:
Cmd/Ctrl + L - Quick Fix: 오류 또는 경고 위에 마우스를 올린 뒤
Quick fix→Ask Kiro선택
참고 자료
- Oracle Java Documentation
- Spring Framework Documentation
- Spring Boot Documentation
- Maven Documentation
- Gradle Documentation