Java¶
Kiro는 Java 프로젝트를 위한 강력한 AI 지원 개발 기능을 제공하여 Java 코드를 더 효율적으로 작성하고 디버그하고 유지 관리하는 데 도움을 줍니다.
사전 요구 사항¶
Kiro로 Java 개발을 시작하기 전에 다음을 확인하세요:
- Java Development Kit (JDK): 최신 LTS 버전 설치 (JDK 17 이상 권장). 프로덕션 준비가 된 무료 OpenJDK 배포판으로 Amazon Corretto를 권장합니다.
- 빌드 도구: 종속성 관리 및 빌드 자동화를 위한 Maven 또는 Gradle.
- Git: 버전 관리 및 협업용.
확장 프로그램¶
Kiro는 Java 개발 경험을 향상시킬 수 있는 Open VSX의 확장 프로그램을 지원합니다. 설치할 수 있는 유용한 확장 프로그램은 다음과 같습니다:
-
Extension Pack for Java: Visual Studio Code에서 Java 개발을 위한 인기 있는 확장 프로그램. Language Support for Java, Debugger for Java, Test Runner for Java, Maven for Java, Project Manager for Java 및 IntelliCode를 포함합니다.
-
Spring Boot Extension Pack: Spring Boot Tools, Spring Initializr Java Support 및 Spring Boot Dashboard를 포함한 Spring Boot 개발을 위한 확장 프로그램 모음.
-
Gradle for Java: Gradle 프로젝트를 관리하고 Gradle 작업을 실행하며 Kiro에서 더 나은 Gradle 파일 작성 경험을 제공합니다.
-
Maven for Java: Maven 프로젝트를 관리하고 Maven 작업을 실행하며 Kiro에서 더 나은 Maven 프로젝트 작성 경험을 제공합니다.
-
Markdown Preview Enhanced: 라이브 미리보기로 마크다운 파일을 보고 편집하기 위한 확장 프로그램.
위에 나열된 확장 프로그램 이름을 검색하여 Extensions 패널을 사용하여 Kiro에 이러한 확장 프로그램을 설치할 수 있습니다.
환경 작업¶
Kiro를 사용하면 채팅 기능을 활용하여 새 프로젝트를 설정하거나 기존 프로젝트에서 작업할 수 있습니다.
프로젝트 구성 및 구조¶
Kiro는 Java 프로젝트의 구성 파일을 설정하고 유지 관리하며 Java 모범 사례에 따라 프로젝트를 구성하는 데 도움을 줄 수 있습니다.
- 구성 파일 초기화: Kiro에게 프로젝트를 기반으로 기본 구성 파일을 초기화하도록 요청합니다.
- 프로젝트 구조 생성: Kiro에게 필요와 모범 사례를 기반으로 프로젝트 구조를 생성하도록 요청합니다.
- 환경 설정: Java 개발 환경 구성에 대한 도움을 받습니다.
예시 프롬프트:
"Create a new Maven project for a Spring Boot application" "Set up a Gradle build file with JUnit 5 and Mockito dependencies" "Configure a multi-module Maven project structure" "Help me install and configure the latest JDK for my operating system" "Set up a Spring Boot project with proper layered architecture" "Create a pom.xml with Spring Security and JPA dependencies"
코드 분석 및 리팩토링¶
Kiro는 Java 코드를 분석하여 문제를 식별하고 개선 사항을 제안할 수 있습니다:
- 코드 품질 분석: Kiro에게 잠재적인 버그, 성능 문제 또는 스타일 문제에 대한 코드를 검토하도록 요청합니다.
- 리팩토링 지원: 메서드 추출, 변수 이름 변경 또는 코드 재구성에 대한 도움을 받습니다.
- 디자인 패턴 구현: Kiro는 Java 코드에서 일반적인 디자인 패턴을 구현하는 데 도움을 줄 수 있습니다.
예시 프롬프트:
"Analyze this method for potential bugs or performance issues" "Refactor this code to use the Builder pattern" "Convert this imperative code to use Java Streams"
디버깅 지원¶
Java 코드에서 오류가 발생하는 경우:
- 오류 설명: Kiro는 난해한 오류 메시지를 평문으로 설명할 수 있습니다
- 솔루션 제안: 일반적인 오류에 대한 실행 가능한 수정 사항을 받습니다
- 런타임 디버깅: Kiro는 디버깅 구성 설정에 도움을 줄 수 있습니다
예시:
"Explain this NullPointerException in my code" "Help me debug this ConcurrentModificationException" "Analyze this stack trace and suggest a fix"
스티어링¶
스티어링을 사용하면 Kiro에게 프로젝트별 컨텍스트와 가이드라인을 제공할 수 있습니다. Kiro는 수정할 수 있는 스티어링 파일을 생성할 수 있습니다:
- Product brief (
product.md) - 제품, 목적 및 주요 기능에 대한 정보 포함 - Technical Stack (
tech.md) - 기술, 프레임워크 및 개발 가이드라인 상세 설명 - Project Structure (
structure.md) - 프로젝트 구성 방법에 대한 정보 제공
Java 프로젝트의 경우 추가 사용자 정의 스티어링 파일을 만들어 더 구체적인 가이드를 제공할 수 있습니다:
사용자 정의 스티어링 파일 생성¶
다음 지침을 사용하여 프로젝트에 새 스티어링 문서를 추가합니다.
새 스티어링 문서 추가
- 사이드바의 Kiro 뷰로 이동합니다.
- Agent Steering 섹션에서
+버튼을 선택하여 새 스티어링 파일을 만듭니다. - 설명이 포함된 제목으로 파일 이름을 입력합니다.
- 마크다운 규칙에 따라 사용자 정의 스티어링 콘텐츠를 추가합니다.
사용자 정의 스티어링 파일은 .kiro/steering/ 디렉토리에 저장되며 상호작용 중에 Kiro가 자동으로 인식합니다.
프로젝트별 규칙¶
java-conventions.md 스티어링 파일을 만들어 팀의 특정 관행과 아키텍처 결정을 정의합니다:
markdown
# Java Project Conventions ## Architecture Patterns - Use hexagonal architecture for complex domains - Implement CQRS for read/write separation when needed - Apply Domain-Driven Design principles for business logic ## Testing Strategy - Write unit tests for all business logic - Use TestContainers for integration tests - Maintain 80% code coverage minimum - Follow the AAA pattern (Arrange, Act, Assert) ## Error Handling - Use custom exceptions for business logic errors - Implement global exception handlers with @ControllerAdvice - Log errors with correlation IDs for traceability - Return consistent error response formats ## Performance Guidelines - Use connection pooling for database access - Implement caching strategies for frequently accessed data - Use async processing for long-running operations - Monitor and optimize database queries
이러한 유형의 스티어링은 Checkstyle 또는 Spotless와 같은 자동화 도구로 더 잘 처리되는 기본 코드 형식이 아니라 특정 아키텍처 결정 및 관행에 대한 컨텍스트를 Kiro에게 제공합니다.
프레임워크별 가이드라인¶
Spring Boot 프로젝트의 경우 spring-boot-patterns.md 스티어링 파일을 만듭니다:
markdown
# Spring Boot Development Guidelines ## Component Structure - Use @RestController for REST endpoints - Use @Service for business logic - Use @Repository for data access - Use @Component for other beans ## Dependency Injection - Prefer constructor injection over field injection - Use final fields for injected dependencies - Avoid circular dependencies ## API Design - Follow REST principles for endpoint design - Use appropriate HTTP methods (GET, POST, PUT, DELETE) - Return appropriate HTTP status codes - Use DTOs for request/response objects
이러한 스티어링 파일은 Kiro가 팀의 특정 규칙 및 모범 사례를 따르는 코드를 생성하는 데 도움을 줍니다.
에이전트 훅¶
Kiro의 에이전트 훅은 일반적인 Java 개발 작업을 자동화할 수 있습니다. 예를 들어 다음과 같은 훅을 만들 수 있습니다:
- Java 파일을 저장할 때 자동으로 JUnit 테스트 생성
- Checkstyle 또는 SpotBugs로 코드 품질 검사 실행
- 오래된 Maven 또는 Gradle 종속성 확인
- 공개 메서드에 대한 JavaDoc 주석 생성 또는 업데이트
- Spring Boot 구성 파일 검증
- Google Java Format 또는 유사한 도구로 코드 형식 지정
MCP 서버¶
Kiro의 Model Context Protocol(MCP) 서버 지원은 전문화된 도구와 기능을 제공하여 Java 개발 경험을 향상시킵니다. MCP 설정 및 사용에 대한 전체 가이드는 MCP 문서를 참조하세요.
Maven MCP 서버¶
Maven MCP 서버를 사용하면 Kiro 내에서 직접 Maven 프로젝트를 관리할 수 있습니다:
json
{ "mcpServers": { "maven": { "command": "uvx", "args": ["maven-mcp-server@latest"] } } }
이 서버를 구성하면 다음을 수행할 수 있습니다:
- Kiro로 Maven 명령 실행
- 빌드 문제에 대한 AI 기반 설명 받기
- 종속성 및 프로젝트 구성 관리
사용 예시:
"Run Maven tests for my project" "Add Spring Boot starter dependencies to my pom.xml"
추가 유용한 MCP 서버¶
AWS MCP Servers 및 Awesome MCP Servers 컬렉션에서 더 많은 MCP 서버를 탐색하세요.
문제 디버깅¶
문제가 발생하면 Kiro가 진단하고 수정하는 데 도움을 줄 수 있습니다:
- 인라인 채팅:
Cmd/Ctrl + I를 입력하여 인라인 채팅을 엽니다.- Kiro에게 특정 오류를 설명하거나 현재 코드에 대한 수정 사항을 제안하도록 요청합니다.
- 채팅에 추가:
Cmd/Ctrl + L을 입력하여 현재 파일을 채팅에 추가합니다.- Kiro에게 잠재적인 문제 또는 개선 사항에 대한 전체 파일을 분석하도록 요청합니다.
- 빠른 수정:
- 오류 또는 경고에 마우스를 올린 다음
Quick fix및Ask Kiro를 선택합니다. - Kiro가 자동으로 코드를 채팅에 추가하고 디버깅을 시작합니다.
- 오류 또는 경고에 마우스를 올린 다음