Spring Project를 생성하기 위해서는 Java와 IDE가 필요합니다.
Java의 version은 11을 사용하고, IDE(integrated development environment)는 IntelliJ 또는 Eclipse를 설치하여 사용합니다.
스프링 부트 스타터 사이트를 이용해 스프링 프로젝트를 생성할 수 있습니다.
스프링 부트 스터터 사이트
사이트로 이동하면 다음과 같은 하면을 볼 수 있습니다.
1) Project 설정
Project에는 Maven Project와 Gradle Project가 존재합니다.
Maven Project: Apache build tool이며 xml을 기반으로 합니다. Pom.xml에 필요한 라이브러리를 선언하면 자동으로 해당 Project를 불러옵니다.
Gradle Project: Groovy를 기반으로 한 build tool이며 이전 세대(maven, ant) build tool의 단점을 보안하고 장점을 취합하여 만든 오픈소스로 공개된 build tool입니다.
2) Language 설정
언어 같은 경우에는 본인이 사용하는 언어를 선택하면 됩니다. 대부분의 경우 Java를 이용하여 개발을 하기 때문에 Java를 선택합니다.
3) Spring Boot 설정
Spring Boot 버전의 같은 경우에 숫자 뒤에 SNAPSHOT 또는 영어가 적혀 있는 경우에는 정식 버전이 아닙니다. 따라서 최신 버전을 사용하되 뒤에 영어가 붙어 있지 않는 버전을 사용합니다.
4) Project Metadata 설정
Group: 회사명, 그룹명을 사용하되 Java Package Name Rull을 따릅니다.
Artifact: 결과물, 버전 없는 jar 파일입니다.
Group을 큰 tool이라고 하면 Artifacted는 작은 tool입니다.
5) Dependencies 설정
Add Dependencies를 클릭하여 Spring Web, Thymeleaf를 사용합니다.
Thymleaf 같은 경우는 회사마다 다를 수 있습니다.
6) Packing 설정
war: 별도의 웹서버나 was가 있어야 프로젝트 구동이 가능하다.
jar: JRE만 존재하면 구돟이 가능하다.
build.gradle
plugins {
id 'org.springframework.boot' version '2.6.7' //Spring Boot Version
id 'io.spring.dependency-management' version '1.0.11.RELEASE' //종속성 관리 및 제어를 제공하는 플러그인
id 'java' //Language
}
group = 'hello' //GroupId
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11' //Java 11 Version
repositories {
mavenCentral() //Dependencies에서 설정한 implementation 라이브러리를 download를 mavenCentral()에서 받으라는 의미입니다.
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' //Dependencies에서 설정한 thymeleaf
implementation 'org.springframework.boot:spring-boot-starter-web' //Dependencies에서 설정한 spring web
testImplementation 'org.springframework.boot:spring-boot-starter-test' //Test 라이브러리
}
tasks.named('test') {
useJUnitPlatform() //JunitPlatform을 사용할 수 있게 한다. JunitPlatform: Junit에서 테스트 프레임워크를 시작하기 위한 기반을 제공합니다.
}
밑에 시작 버튼을 누르면 다음과 같은 화면이 뜨게 됩니다. 그 후 http://localhost:8080/ 로이동하여 오류화면이 발생하지 않으면 정상적으로 작동하는 것입니다.