๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Spring Boot

[Spring Boot] Hello World ์ถœ๋ ฅ

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 2. 12.
๋ฐ˜์‘ํ˜•

1. New Project ๋ฅผ ํด๋ฆญ.

โ€‹

โ€‹

2. Spring Initializr ์„ ํƒํ•˜๊ณ  Next ํด๋ฆญ.

โ€‹

โ€‹

3. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ธํŒ…ํ•œ๋‹ค.

Project๋Š” Gradle ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•œ๋‹ค.

Project Meta ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์—์„œ๋Š” Group๋ช…์€ 'org.zerock'์„ ์ž…๋ ฅํ•˜๊ณ  Artifact๋Š” 'test'๋กœ ์ง€์ •ํ•œ๋‹ค.

Packaging์€ 'war'๋ฅผ ์„ ํƒํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์บ์ด์…˜์œผ๋กœ ํ•œ๋‹ค.

Java ๋ฒ„์ „์€ ํ˜„์žฌ ์ž์‹ ์˜ ๋ฒ„์ „์— ๋งž๊ฒŒ ์„ ํƒํ•˜๋˜, ํ˜„์žฌ ์„ค์น˜๋œ JDK ๋ฒ„์ „๊ณผ ๋™์ผํ•˜๊ฑฐ๋‚˜ ๋‚ฎ์€ ๋ฒ„์ „์„ ์„ ํƒํ•œ๋‹ค.

Dependencies๋Š” ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ํƒํ•œ๋‹ค.

โ€‹

โ€‹

4. Web → Spring Web ์„ ํƒํ•˜๊ณ  Next ํด๋ฆญ.

โ€‹

โ€‹

5. ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ž…๋ ฅํ•˜๊ณ  Finish ํด๋ฆญ.

โ€‹

 

6. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์™„๋ฃŒ!

์ƒ์„ฑ๋œ ํ”„๋กœ์ ํŠธ

 

์ƒ์„ฑ๋œ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ(๋‚˜์ค‘์— ์ฐ์€ ๊ฒƒ) โ€‹

 

โ€‹

7. Lombok ๊ธฐ๋Šฅ ํ™œ์„ฑํ™”๊ฐ€ ์ž๋™์œผ๋กœ ๋˜์ง€ ์•Š์•˜์œผ๋ฉด build.gradle ํŒŒ์ผ์— ์ˆ˜๋™์œผ๋กœ ์ž‘์„ฑํ•  ๊ฒƒ.

build.gradle

 

 

8. TestApplication ํด๋ž˜์Šค๋กœ ๋“ค์–ด๊ฐ€์„œ 7๋ฒˆ์งธ ์ค„์— โ–ถ ํด๋ฆญ.

ํ”„๋กœ์ ํŠธ ์‹คํ–‰

 

โ€‹

9. (๋Œ€์ถฉ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ณ ์žˆ๋‹ค๋Š” ๋ฉ”์„ธ์ง€)

ํ”„๋กœ์ ํŠธ ์‹คํ–‰ ๋กœ๊ทธ

 

โ€‹

10. TestApplicationTests ํŒŒ์ผ์—์„œ @Test๊ฐ€ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์„ ํƒํ•ด์„œ ์‹คํ–‰ํ•œ๋‹ค.

โ€‹

โ€‹

11. (๋Œ€์ถฉ ์ด๋ ‡๊ฒŒ ๋‚˜์˜ค๋ฉด ์ž˜ ๋Œ์•„๊ฐ„๋‹ค๋Š” ๋œป)

โ€‹

โ€‹

โ€‹

โ–ถ ๊ฐ„๋‹จํ•œ ์ปจํŠธ๋กค๋Ÿฌ ์‹ค์Šต

 

1. ์ž‘์„ฑ๋œ ํ”„๋กœ์ ํŠธ์— controller ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  SampleController ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

โ€‹

โ€‹

2. SampleController๋Š” @RestController์„ ์ด์šฉํ•ด์„œ ๋ณ„๋„์˜ ํ™”๋ฉด ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ ์ž ํ•œ๋‹ค.

hello()๋Š” @GetMapping์„ ์ด์šฉํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์—์„œ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค์ •ํ•œ๋‹ค.

โ€‹

โ€‹

3. ํ”„๋กœ์ ํŠธ ๋‚ด์— ์žˆ๋Š” testApplication ํด๋ž˜์Šค์˜ main()์„ ์‹คํ–‰ํ•œ๋‹ค.

โ€‹

โ€‹

4. ๋ธŒ๋ผ์šฐ์ €๋กœ 'http://localhost:8080/hello'๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.

โ€‹

โ€‹

5. F12(๊ฐœ๋ฐœ์ž ๋„๊ตฌ) → Network → Header ๋ฅผ ํ†ตํ•ด์„œ ํ™•์ธํ•˜๋ฉด ๋ณ„๋„์˜ ์„ค์ • ์—†์ด๋„ json ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. (์•ˆ๋ณด์ด๋ฉด F5๋ฅผ ๋ˆŒ๋Ÿฌ์ค€๋‹ค)

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€