spring 설치와 환경설정
1. intelliJ 설치
intelliJ 다운 링크에 들어가 유료버전(Ultimate) 또는 무료버전(Community Edition)을 다운받는다. 무료 버전은 유료 버전에 있는 기능 몇가지가 없는 버전이다. 대학교 메일 인증이 가능하면 Ultimate를 무료로 사용할 수 있다.

windows라면 exe파일을 받아 설치한다.
linux라면 .tar.gz를 받아 실행할 수 있지만, snap이나 flatpak으로 설치하는것이 편하고 좋다.
2. JDK 17 또는 21 설치
스프링 3.0이상부터는 JDK17버전 이상을 설치해야 한다.

3. 스프링 프로젝트 생성
https://start.spring.io/에서 새로운 웹 프로젝트를 만든다.
Project는 Gradle-Groovy, Language는 Java, SpringBoot는 SNAPSHOT또는 M1이 아닌 최신버전을 선택한다.
Group는 hello, Artifect는 hello-spring으로 한다. 다른 이름으로 해도 된다. 그러면 패키지 이름이 hello.hello-spring이 되는데 패키지 이름은 모두 소문자로 하는것이 관례이기 때문에 -를 제거해준다.
packaging은 Jar, Java는 설치된 Java버전을 고른다.
Dependency에 추가할 것
- Spring Web
- thymeleaf - server side rendering에 사용할 view template
- lombok - @Getter @Setter @RequiredArgsConstructor @ToString 같은 어노테이션으로 자동 메소드 생성
- Validation - hibernate의 BeanValidation
- 데이터베이스를 사용한다면 h2나 mysql등을 추가한다.
- 스프링 데이터 jpa를 사용한다면 spring data jpa를 추가한다.

Generate하여 다운받고 적절한 루트에 압축을 푼다.
4. 설정하기
intellij를 키고 file - open으로 다운받은 스프링 프로젝트를 열어준다.
file - project structure에서 sdk를 다운받은 jdk로 설정해준다.
file - setting에서 Editor - file encoding - 명확한 Native에서 ASCII로의 변환을 체크해준다. 그래야 application.properties에서 한글 주석을 사용 가능하다.
file - setting에서 Build, Execution, Deployment - Build Tools - Gradle에서 Build and run using: 을 IntelliJ IDEA로, Run testing unit도 IntelliJ IDEA로 바꾸고 Gradle JVM은 다운받은 jdk로 설정해준다.
file - setting에서 Build, Execution, Deployment - Compiler - Java Compiler에서 Additional command line parameters에 -parameters를 넣는다. @RequestParam, @PathVariable를 사용하는데 필요하다.
file - setting에서 Build, Execution, Deployment - Compiler - Annotation Processors에서 어노테이션 처리 활성화를 켜야 lombok이 정상 작동한다.
file - setting에서 플러그인에 lombok도 설치한다.
src - main - java 에서 HelloSpringApplication을 실행시키고 127.0.0.1:8080이 접속된다면 정상적으로 설정된 것이다.