๐Ÿ–ฅ๏ธ Web Development Study/Back-End

[Back-End][์Šคํ”„๋ง ๋ถ€ํŠธ 3 ์ž๋ฐ” ๋ฒก์—”๋“œ ๊ฐœ๋ฐœ ์ž…๋ฌธ] Part1. Spring Boot

ibelieveinme 2025. 2. 2. 17:40
728x90

์Šคํ”„๋ง ๋ถ€ํŠธ 3 ์ž๋ฐ” ๋ฒก์—”๋“œ ๊ฐœ๋ฐœ ์ž…๋ฌธ ์ฑ…์„ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

์ €์ž‘๊ถŒ ๋“ฑ์˜ ์ด์Šˆ๋กœ ๋ฌธ์ œ๊ฐ€ ๋ ์‹œ ๋น„๊ณต๊ฐœ ์ฒ˜๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


 

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

https://start.spring.io ์— ์ ‘์†ํ•˜๊ณ  Project, Language, Spring Boot version, Project Metadata, Dependencies ๋ฅผ ์œ„์™€ ๊ฐ™์ด ์…‹ํŒ…ํ•ด์ฃผ์ž.

 

*Dependencies

1) H2 Database: ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

2) Mustache: ํ™”๋ฉด์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋„๊ตฌ

3) Spring Data JPA: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ข€ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ฃผ๋Š” ๋„๊ตฌ.

 

ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์•„๋ณด๋ฉด ์œ„์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ํŒŒ์ผ๋“ค์ด ๋งŒ๋“ค์–ด์ ธ ์žˆ๋‹ค. InteliJ๋กœ ์œ„ ํ”„๋กœ์ ํŠธ๋ฅผ ์—ด์–ด๋ณด์ž.

 

java 23 ์—†๋Š”๋ฐ ์„ ํƒํ•ด์„œ ์—๋Ÿฌ๋‚ฌ.. java 23 ์„ค์น˜ ํ›„ ๋ฒ„์ „ ์…‹ํŒ… ํ•ด์ฃผ๋‹ˆ ์ž˜ ๋๋‹ค.

 

์œ„์—์„œ ๋งŒ๋“  ํŒจํ‚ค์ง€ ๊ฒฝ๋กœ์ธ com.example.demo ํŒจํ‚ค์ง€ ์•ˆ์— DemoApplication.java ํŒŒ์ผ์ด ์žˆ๋‹ค.

DemoApplication.java ํŒŒ์ผ ์•ˆ์— ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์œ„์น˜์ธ main ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋‹ค. ์ด ํŒŒ์ผ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ์„œ๋ฒ„๊ฐ€ ์ •์ƒ ๊ฐ€๋™ ๋œ๋‹ค.

 

 

2. ํ”„๋กœ์ ํŠธ ์‹คํ–‰ & ์ ‘์†ํ•˜๊ธฐ

 

* ์›น ์„œ๋น„์Šค์˜ ๋™์ž‘ ์›๋ฆฌ

์›น์„œ๋น„์Šค๋Š” ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ๊ตฌ์กฐ๋กœ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ๋”ฐ๋ฅธ ์„œ๋ฒ„์˜ ์‘๋‹ต์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค.

 

- ํด๋ผ์ด์–ธํŠธ: ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์ปดํ“จํ„ฐ.

- ์„œ๋ฒ„: ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์ปดํ“จํ„ฐ.

 

์ฆ‰, ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋กœ์„œ ๋™์ž‘ํ•˜๊ณ  ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ์„œ๋ฒ„ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

* localhost:8080/hello.html ์˜ ์˜๋ฏธ

1) localhost: ์‹คํ–‰ ์ค‘์ธ ์„œ๋ฒ„์˜ ์ฃผ์†Œ ์ค‘ ํŠน๋ณ„ํ•œ ์ฃผ์†Œ์ธ '๋‚ด ์ปดํ“จํ„ฐ'๋ฅผ ์˜๋ฏธ.

                     ip ์ฃผ์†Œ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด 127.0.0.1 ๊ณผ ๊ฐ™๋‹ค.

2) 8080: ํฌํŠธ๋ฒˆํ˜ธ.

               Tomcat started on port(s): 8080... ์˜ ๋œป์€ ํ†ฐ์บฃ์ด๋ผ๋Š” ์›น์„œ๋ฒ„๊ฐ€ 8080๋ฒˆ ์—์„œ ์ˆ˜ํ–‰๋˜๊ณ  ์žˆ๋‹ค๋Š” ๋œป.

               ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ํ†ฐ์บฃ์— ๋‹ด๊ฒจ ์‹คํ–‰๋œ๋‹ค.

3) hello.html: ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋Š” ํŒŒ์ผ.

 

์ฆ‰, localhost:8080/hello.html = ๋‚ด ์ปดํ“จํ„ฐ์˜ 8080๋ฒˆ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ์„œ๋ฒ„์— hello.html ํŒŒ์ผ์„ ์š”์ฒญํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ ํŒŒ์ผ์„ ์ง์ ‘ ์š”์ฒญํ•  ๊ฒฝ์šฐ, ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ src > main > resources > static ํด๋”์—์„œ ํŒŒ์ผ์„ ์ฐพ๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฐพ์€ ํŒŒ์ผ์„ ์‘๋‹ต์œผ๋กœ ๋ณด๋‚ธ๋‹ค.

 

 

728x90