1. String Initializr란?
- String initializr은 스프링부트를 기반으로 spring관련 프로젝트를 생성해주는 사이트로 프로젝트를 다운하여 쉽게 사용이 가능하도록 만든 사이트
- IDE에서 직접 New Project를 생성할수도 있지만 초심자가 구성하기에는 아직 어려움이 있고 commonity에서는 사용할 수 없기 때문에 Spring Iinitializr을 사용
2. Spring Initializr 사용하기
🔎주소: https://start.spring.io/
- 위의 주소로 들어가면 다음과 같은 화면을 마주칠 것임
🟣 Initializr에서 프로젝트 설정하기
- Project: SpringBoot를 빌드하고 배포하는 방식이다. 현재는 Gradle을 사용하여 프로젝트를 생성하는 추세이다.
- Language: 사용하고자하는 언어를 선택하면 된다. (일반적으로 Java가 사용됨)
- SpringBoot: 버전을 선택해 준다. SNAPSHOT은 데모버전이고 높은 버전은 높은 자바버전을 필요로 하므로 SNAPSHOT이 없는 낮은 버전을 선택하는 것이 좋다.
- Group: 기업 도메인명
- Artifact: 빌드되어 나올 결과물
- Name: 프로젝트명 (일반적으로 Artifact와 동일하게 사용함)
- Description: 설명Package name: 패키지이름(Group과 Artifact를 설정하면 자동으로 만들어 준다.)
- Packaging: 기본이 .jar이다. (spring framework와 model2는 .war를 사용한다.
🟣 Intializr에서 Dependency설정하기
- SpringWeb (중요)
웹 서비스를 만드는 데 가장 중요한 모듈이다. 내장 톰캣 뿐 아니라 Spring MVC 패턴을 구현하는 데 필요한 기능이 대부분 들어있다. REST API서버를 만든다면 필수이다.
- Lombok (추천, 거의 필수)
Class에 getter, setter, toString, equals, constructor 등의 메소드들을 간단한 어노테이션(@)으로 지정해줄 수 있어 자바특유의 장황한 클래스를 줄여준다.
- Spring Data JPA ( 필수 )
JPA는 Java Persistence API라고 하는데 자바 ORM기술의 토대를 이루는 기술 명세이다. Spring에서 DB를 다루는 거의 표준 기술인 상황이다. Class Entity를 마치 DB처럼 사용할 수 있는 매우 유용한 도구이다. (학습량 또한 엄청나다.)
- MySQL Driver
MySql의 드라이버를 자동으로 연결해준다.
- Spring Configuration Processor
스프링 개발을 하면서 application.yml 또는 application.properties를 작성할 때 추천을 받고 싶을 때 이 기능을 사용하면 된다.
- Spring Boot DevTools (취향에 따라 사용)
DevTools는 스프링 어플리케이션을 띄웠을 때, 재시작하지 않고 코드의 변화를 반영시킬 때 사용한다. HTML 파일의 경우 LiveReload 기능을 제공하여 저장하면 그 변화가 페이지에 바로 나타나게 할 수도 있다. (참고 velog.io/@bread_dd/Spring-Boot-Devtools)
- Thymeleaf
View 템플릿인 Thymeleaf를 사용할 수 있도록 하는 모듈이다. Spring에서 많이 사용하는 JSP는 Spring Boot에서는 잘 사용하지 않는다.