Spring boot 기본설정, 세팅요약 ( 총 5가지 세팅해주면 됨 )
1. IntelliJ community edition 다운로드
2. Spring initializr에서 프로젝트 다운로드
3. Intellj에서 세팅 3가지
1) SDK 버전 확인
2) build tool 선택
이건 30일 무료 평가판이고
살짝 밑으로 내리면 커뮤니티 버전 무료로 다운로드 가능합니다 :)
이런 식으로 선택
Project : Gradle - Groovy
Language : Java
Spring Boot : 소괄호 없는 버전으로 선택
Java 버전 : 21 or 17버전 : 이 버전은 나중에 SDK버전과 관련있
Dependencies : Spring Web / Spring Boot DevTools 두가지 선택
후 GENERATE 하면 됨!
(이렇게 생성된 파일을 Intellj에서 사용하는거지!)
3. Intellij에서 세팅 2가지 ( SDK 버전 확인 / build tool 선택 )
1) SDK 버전 확인 ( 파일 > 프로젝트구조(Ctrl+Alt+Shift+S) > 프로젝트 )
Spring initializr에서의 JAVA버전 이상으로 맞춰줘야 함
예를 들어 Spring initializr 17버전으로 했다면 그 이상인 17 or 21 버전으로 진행
2) build tool 선택 ( 파일 > 설정(Settings) > Gradle )
이런 식으로 IntelliJ IDEA로 선택해서 확인
AND
파일 > 설정(Settings) > Java Compiler에서 추가 명령줄 매개변수 : -parameter 도 입력 후 확인
왜 -parameters를 사용하는가?
더보기
Additional command line parameters에 -parameters를 추가하는 이유는 Java 컴파일러가 메서드의 매개변수 이름을 클래스 파일에 저장하도록 설정하기 위해서입니다.
왜 -parameters를 사용하는가?
기본적으로 Java 컴파일러는 컴파일 시 메서드의 매개변수 이름을 클래스 파일에 포함하지 않습니다. 따라서 리플렉션(Reflection)을 사용할 때 매개변수의 이름을 알 수 없고, 단순히 arg0, arg1과 같은 이름으로 노출됩니다.
-parameters 옵션을 추가하면:
- 매개변수 이름 유지: 클래스 파일에 메서드 매개변수 이름이 포함됩니다.
- 리플렉션 사용 개선: 리플렉션을 통해 매개변수 이름을 정확히 알 수 있어, 프레임워크(예: Spring, Jackson)나 라이브러리가 이를 활용할 수 있습니다.
- 코드 가독성 향상: 매개변수 이름이 유지되므로 디버깅이나 분석 시 더 직관적인 정보를 얻을 수 있습니다.
주로 사용하는 사례
- Spring Framework: 컨트롤러 메서드의 매개변수 이름을 매핑하기 위해 필요할 수 있습니다.
- Jackson 같은 JSON 라이브러리: 매개변수 이름을 기반으로 JSON 데이터의 필드를 매핑할 때 유용합니다.
- API 개발: 메서드의 매개변수 이름을 기반으로 자동 문서를 생성할 때 유용합니다.
이 설정은 주로 매개변수 이름이 중요한 역할을 하는 프로젝트에서 많이 사용됩니다.