Project | |
---|---|
Maven Project | Gradle Project |
Language | ||
---|---|---|
Java | Kotlin | Groovy |
Java
Kotlin
Groovy
Spring Boot | |||||
---|---|---|---|---|---|
3.0.0(SNAPSHOT) | 3.0.0(M3) | 2.7.1(SNAPSHOT) | 2.7.0 | 2.6.9(SNAPSHOT) | 2.6.8 |
Group : 프로젝트의 그룹 (현재의 프로젝트가 포함되는 프로덕트 명이나 팀명, 그룹명등을 기입)
Artifact : Group을 대분류라고 한다면 Artifact는 소분류라고 생각하면 좋다.(Name과 같은 값이 설정된다.)
Name : 프로젝트 명
Description : 프로젝트에 대한 설명
Package name : Group.Name 형식으로 자동 설정되고 권고사항이 소문자를 사용하도록 하기에 Group, Artifact, Name도 소문자로 사용하는 것이 좋다.
Packaging
Spring boot에서 Jar, War 선택방법
구분 | Jar | War |
---|---|---|
View 방식 | SpringBoot에서 지원하는 템플릿 사용(Thymeleaf, Apache Freemarker, Mustache, Groovy Templates 등) | SpringBoot에서 지원하는 템플릿 미사용(JSP, Vue, React등등) |
외장 Was 사용 유무 | SpringBoot에 내장되어 있는 Tomcat을 사용 | 외장 Was를 이용(ex 외장 Tomcat) |
직접 배포 유무 | 개발에서 배포까지 해야하는 상황이라면 위 두 개의 조건을 염두하여야 하지만 개발만을 목적으로 소스만 작성하여 Git등에 올리기만 하면 되는 개발자 입장에서는 Jar, War의 차이는 없다고 봐도 무방하다. |
참고 자료
원하는 자바 버전을 선택한다. 2022.06.23 기준으로 17버전이 디폴트로 설정 되어있다.
프로젝트의 방향성에 따라 선택하면 된다.
기본 설정하면 좋은 의존성(개인적인 관심 의존성도 같이 작성하였다.)
DEVELOPER TOOLS
- Spring Boot DevTools
- 빠른 어플리케이션의 재시작, LiveReload 등을 제공
- Lombok
- 상용구 코드를 줄이는데 도움된다.
- Getter, Setter등 생략이 가능한 어노테이션등을 지원
Web- Spring Web
- 웹 개발을 하기 위한 가장 중요한 의존성
- Spring Session
- 세션에 관련된 의존성
TEMPLATE ENGINES- Thymeleaf
- HTML과 호환성이 좋은 템플릿 엔진
SECURITY- Spring Security
- OAuth2 Client
- OAuth2 Resource Server
SQL- Spring Data JPA
- MyBatis Framework
- H2 Database
- MariaDB Driver
- MySQL Driver
- Oracle Driver
NOSQL- Spring Data MongoDB
MESSAGING- WebSocket
I/O- Spring Batch
- Validation
TESTING- Spring REST Docs
Generate 버튼을 클릭
프로젝트 명의 압축파일 다운로드 되어진다.
다운로드한 프로젝트 파일을 압축 해제후, Maven이나 Gradle 각각의 방식에 맞게 프로젝트를 실행시키면 된다.
Create a Gradle Project 선택 (본 포스트에서는 Gradle을 선택)
Spring Boot Version 선택 (본 포스트에서는 디폴트 버전 2.7.0 선택)
개발 언어 선택 (본 포스트에서는 Java 선택)
Group ID 입력 (본 포스트에서는 dokbak.pjt 입력)
Artifact ID 입력 (본 포스트에서는 testpjt 입력)
packaging type 선택 (본 포스트에서는 Jar 선택)
Java 버전 선택 (본 포스트에서는 17 선택)
의존성 선택 (본 포스트에서는 미선택)
프로젝트를 저장할 패스를 지정해 저장하여 사용한다.