๊ด€๋ฆฌ ๋ฉ”๋‰ด

ruriruriya

[Spring Boot] ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐ ํ™˜๊ฒฝ์„ค์ • ๋ณธ๋ฌธ

๐Ÿ–Œ๏ธWeb/Spring Boot

[Spring Boot] ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐ ํ™˜๊ฒฝ์„ค์ •

๋ฃจ๋ฆฌ์•ผใ…‘ 2024. 6. 28. 23:07
๋ฐ˜์‘ํ˜•

์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ™˜๊ฒฝ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.

0. Tool ์ค€๋น„

IDE๋Š” STS(Spring Tool Suite)๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค.
์ด์œ ๋Š” ํšŒ์‚ฌ์—์„œ ์‹ค๋ฌด๋กœ IntelliJ๋Š” ๋น„์‹ธ๊ณ  vscode๋Š” ์จ๋ดค์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํŽธ๋ฆฌํ•˜๋‹จ ์ƒ๊ฐ์ด ์•ˆ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์— STS๋ฅผ ์„ ํƒํ–ˆ๋‹ค.

1. ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ

Package Explorer -> Create new Spring Starter Project ํด๋ฆญ

 

New Spring Starter Project ์ฐฝ์ด ๋œจ๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์ž‘์„ฑํ•˜๊ณ  Next > ๋ฒ„ํŠผ ํด๋ฆญ

Name : ํ”„๋กœ์ ํŠธ ๋ช…์„ ์ž‘์„ฑ
Location : ํ”„๋กœ์ ํŠธ ์ €์žฅํ•  ๋””๋ ‰ํ† ๋ฆฌ ์œ„์น˜ ์ž‘์„ฑ
Type : Gradle (์‹ค๋ฌด์—์„œ๋Š” Maven์ผ ์ˆ˜๋„ ์žˆ์Œ..)
Packaging : Jar
Java Version : 17 (๋ณดํ†ต ์•ˆ์ •์„ฑ ์ด์Šˆ๋กœ 8๋ฒ„์ „์„ ์“ฐ์ง€๋งŒ ๋ณธ์ธ์€... 8๋ฒ„์ „ ์ ์šฉ์„ ๋ชปํ•ด์„œ 17๋ฒ„์ „ ์‚ฌ์šฉ)
Language : Java
Group : ๊ทธ๋ฃน๋ช…
Description : ํ”„๋กœ์ ํŠธ ์„ค๋ช…
Package : ๊ทธ๋ฃน๋ช…๊ณผ ๋™์ผ

 

2. ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์ •

์™ผ์ชฝ Available์—์„œ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ํƒํ•œ๋‹ค.

 

3. ์˜์กด์„ฑ ์„ค์ • ํŒŒ์ผ ํ™•์ธํ•˜๊ธฐ build.gradle

ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ ์—ด์–ด์„œ build.gradle ํŒŒ์ผ์„ ์—ด์–ด์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ž˜ ์„ค์น˜ ๋˜์—ˆ๋Š” ์ง€ ํ™•์ธํ•˜๊ณ  Refresh ํ•ด์ค€๋‹ค.

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.3.1'
	id 'io.spring.dependency-management' version '1.1.5'
}

group = 'com.sunny.dev'
version = '0.0.1-SNAPSHOT'

java {
	toolchain {
		languageVersion = JavaLanguageVersion.of(17)
	}
}

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	runtimeOnly 'com.h2database:h2'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

tasks.named('test') {
	useJUnitPlatform()
}

 

Console ์— BUILD SUCCESSFUL์ด ๋œจ๋ฉด ์™„๋ฃŒ!

4. ํ•œ๊ธ€ ์ž…์ถœ๋ ฅ ์„ค์ •ํ•˜๊ธฐ

src/main/resources/application.properties

์œ„์— ๊ฒฝ๋กœ๋กœ ๋“ค์–ด๊ฐ€์„œ properties๋ฅผ ์—ด์–ด์„œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

์Šคํ”„๋ง ๋ถ€ํŠธ์˜ ๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ ISO-8859-1์€ ASCII ๋ฌธ์ž๋งŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์„œ UTF-8๋กœ ๋ณ€๊ฒฝํ•ด์„œ ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•œ๋‹ค.

server.servlet.encoding.charset=UTF-8  
server.servlet.encoding.enabled=true  
server.servlet.encoding.force=true

 

5. ํ•œ๊ธ€ ์ธ์ฝ”๋”ฉ ์„ค์ •

 

STS ์ƒ๋‹จ ์˜ค๋ฅธ์ชฝ์— ๋‹๋ณด๊ธฐ๋กœ ๋“ค์–ด๊ฐ„๋‹ค.

preferences๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ์ ‘์†ํ•œ๋‹ค.

General - Workspace - text file en

General - Content Types - Java Class File ์„ ํƒ ํ›„ 

Default encoding utf-8๋กœ ์„ค์ • ํ›„ Apply and Close

 

6. ํƒ€์ž„๋ฆฌํ”„ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜

Help - Install New Software

 

Work with์—
http://www.thymeleaf.org/eclipse-plugin-update-site/ ์ด url์„ ๋„ฃ๊ณ  ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด
์•„๋ž˜์— ํ‘œ๊ฐ€ ๋‚˜์˜จ๋‹ค.
๋๋‚˜๊ณ  Cancel ๋กœ ๋.

 

๋ฐ˜์‘ํ˜•