๋ฐ˜์‘ํ˜•
kkh1902
Steadily
kkh1902
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (178) N
    • DataEngineering (20) N
      • Spark (7) N
      • Airflow (2) N
      • DBT (2) N
      • Architecture (3) N
      • Data Quality (5) N
      • Infra (1) N
    • ๐Ÿค– AI (12) N
      • ML (7)
      • DL (0)
      • LLM (5) N
    • ๐Ÿ“š Study (74)
      • DataEngineering (0)
      • Spring (9)
      • Java (2)
      • Html, css (10)
      • JS, JQuery (29)
      • DB (5)
      • DevOps (13)
      • roadmap (2)
      • Architecture (1)
      • Flutter (2)
    • ๐Ÿ’ป Computer Science (28)
      • Datastructure (0)
      • Algorithm (2)
      • Design pattern (0)
      • Network (1)
      • DB (13)
      • Operating System (0)
      • Software Engineering (4)
      • CS interview (5)
      • topcit (3)
    • โš’๏ธ Etc (6)
      • Error (3)
      • Trouble_Shooting (2)
      • Dev_environment (1)
    • ๐Ÿ“ฐ News (24)
      • daily (7)
      • think (17)
    • ๐Ÿ“˜ Hobby (13)
      • English (13)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ“‹ ์ด๋ ฅ์„œ
  • โšก๏ธ ๊นƒํ—ˆ๋ธŒ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • React JS # ์ž์Šต์„œ # Component์™€ Props
  • db
  • React JS #์ž์Šต์„œ
  • sourcetreee
  • git stash
  • Flutter
  • testcode
  • think #bootstrap์„ ์จ์•ผํ•˜๋Š” ์ด์œ 
  • React # JSX
  • Linear Regression
  • Qr_payment project # CSS ํ•ด์„ # Basic ๋งจ์œ„ ํ•ด์„
  • gitaction
  • Wonder # word
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ # chapter1
  • SpringBootTest
  • React๋ฅผ ๋ฐฐ์›Œ์•ผํ•˜๋Š” ์ด์œ 
  • junit5
  • React JS # 2 The Basic of React
  • git
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ #project๋งŒ๋“ค๋•Œ ์ค‘์š”

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
๊ธ€์“ฐ๊ธฐ / ๊ด€๋ฆฌ์ž
kkh1902

Steadily

[Spring Boot] ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์•Œ์•„๋ณด๊ธฐ
๐Ÿ“š Study/Spring

[Spring Boot] ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์•Œ์•„๋ณด๊ธฐ

2022. 7. 15. 16:59
728x90
๋ฐ˜์‘ํ˜•

spring boot๋กœ ๊ฒŒ์‹œํŒ์„ ๋งŒ๋“ค๋‹ค๊ฐ€ ๊ตฌํ˜„ ์œ„์ฃผ๋กœ ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์™œ, ์–ด๋–ป๊ฒŒ ๋Œ์•„ ๊ฐ€๋Š”์ง€ ๊ถ๊ธˆํ•ด์„œ ๊ตฌ์กฐ๋ฅผ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค.

 

1. src/main/java ๋””๋ ‰ํ† ๋ฆฌ (์ œ์ผ ์ค‘์š”)

ํ•œ ๋ธ”๋กœ๊ทธ์—์„œ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด์ค€ ๊ฒƒ ๊ฐ™์•„ ์ฐธ๊ณ ์šฉ์œผ๋กœ ๋จผ์ € ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์ปจํŠธ๋กค๋Ÿฌ : @Controller (ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๋ ˆ์ด์–ด, ์›น ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•จ)
๋กœ์ง ์ฒ˜๋ฆฌ : @Service (์„œ๋น„์Šค ๋ ˆ์ด์–ด, ๋‚ด๋ถ€์—์„œ ์ž๋ฐ” ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•จ)
์™ธ๋ถ€I/O ์ฒ˜๋ฆฌ : @Repository (ํผ์‹œ์Šคํ„ด์Šค ๋ ˆ์ด์–ด, DB๋‚˜ ํŒŒ์ผ๊ฐ™์€ ์™ธ๋ถ€ I/O ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•จ)


Controller

์œ„ ์‚ฌ์ง„์€ ์›น ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์™€ ์†Œํ†ตํ•  ๋•Œ ์–ด๋–ค ๋กœ์ง์„ ๊ฑฐ์ณ์„œ ์ •๋ณด๊ฐ€ ์ „๋‹ฌ์ด ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ทธ๋ฆผ์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ„์ชฝ์— ๋ณด๋ฉด front-end์—์„œ ๋“ค์–ด์˜ค๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ์š”์ฒญ์ด ๊ฐ€์žฅ ๋จผ์ € ์„œ๋ฒ„ ์ธก๊ณผ ๋งž๋‹ฟ๋Š” ๋ถ€๋ถ„์ด ๋ฐ”๋กœ Controller์ž…๋‹ˆ๋‹ค.
์„œ๋ฒ„์—์„œ ๊ธฐ๋Šฅ๋ณ„ URL์ด๋ผ๋Š” API๋ฅผ ๊ฐœ์„คํ•ด ๋†“์•˜๊ณ , ํด๋ผ์ด์–ธํŠธ๋Š” ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์ ์ ˆํ•œ API์— ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด์ฃ .
์ฆ‰ Controller๋Š” ์ด๋Ÿฐ ์ฐฝ๊ตฌ ์—ญํ• ์„ ํ•˜๋Š” API๋“ค์„ ๋ชจ์•„๋†“์€ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.
๋‹น์—ฐํžˆ ์ •๋ณด๋ฅผ ํ”„๋ก ํŠธ ์ชฝ์œผ๋กœ ๋‚ด๋ ค์ค„ ๋•Œ๋„ ์ด ์ปจํŠธ๋กค๋Ÿฌ์˜ API๋ฅผ ํ†ตํ•ด์„œ ๋ณด๋‚ด์ค๋‹ˆ๋‹ค.

 

Repository

Repository๋Š” ์ง์—ญํ•ด๋„ '์ €์žฅ์†Œ'๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊นŠ์€ ์—ฐ๊ด€์ด ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋งž์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋‹จ์— ์ง์ ‘ ๋งค์นญ๋˜๋Š” Entity๋ผ๋Š” ๊ฒƒ์ด ์žˆ๋Š”๋ฐ, ์ด Entity๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ์ด ๋˜๋ฉด, ๋ฐ›์•„์˜จ ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(ex. MySQL, mariaDB)์— ์ €์žฅํ•˜๊ณ  ์กฐํšŒํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์œ„ ์‚ฌ์ง„์€ ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(MySQL)๊ณผ ์ด๋ฅผ ์กฐ์ž‘ํ•˜๋Š” SQL๋ฌธ๊ณผ ๋งค์นญ๋˜๋Š” ๊ฐœ๋…์œผ๋กœ, ์Šคํ”„๋ง๋ถ€ํŠธ์—์„œ Domain(Entity)๊ฐ€ table์— , Repository๊ฐ€ SQL์— ๋งค์นญ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰ Repository์—์„œ ์ฃผ์–ด์ง„ jpa ์ธํ„ฐํŽ˜์ด์Šค ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ์ ์ธ CRUD๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•ด ๋‹จ์ˆœ ๋ฐ์ดํ„ฐ์กฐํšŒ๋กœ๋Š” ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฐœ๋…๋“ค์ด ์žˆ์„ ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ๋”์šฑ ๊ณ ๋„ํ™”๋œ ์ •๋ณด ๊ฐ€๊ณต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณณ์ด ๋ฐ‘์—์„œ ์„ค๋ช…ํ•  Service์ž…๋‹ˆ๋‹ค.

Service

Service๋Š” ๋งค์šฐ ์• ๋งคํ•˜๋ฉด์„œ๋„ ํ™•์‹คํ•œ ๋…€์„์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
Service๋Š” ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด Repository์—์„œ ์–ป์–ด์˜จ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ž๋ฐ” ๋ฌธ๋ฒ•์„ ์ด์šฉํ•˜์—ฌ ๊ฐ€๊ณต ํ›„ ๋‹ค์‹œ Controller์—๊ฒŒ ์ •๋ณด๋ฅผ ๋ณด๋‚ด๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.
์–ด๋–ป๊ฒŒ ๋ณด๋ฉด Controller๋Š” ํด๋ผ์ด์–ธํŠธ์—, Repository๋Š” ๋ฐ์ดํ„ฐ์— ๋งž๋‹ฟ์•„์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ถ€๋ถ„์œผ๋กœ ์—ฌ๊ธธ ์ˆ˜ ์žˆ์œผ๋‚˜ ์‹ค์งˆ์ ์œผ๋กœ ์ค‘์š”ํ•œ ์ž‘๋™์ด ๋งŽ์ด ์ผ์–ด๋‚˜๋Š” ๋ถ€๋ถ„์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ œ๊ฐ€ ์ฃผ๋ชฉํ–ˆ๋˜ ๊ฒƒ์€ '๊ทธ๋Ÿผ repository์—์„œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด ๋ฐ”๋กœ ๊ฐ€๊ณตํ•ด์„œ ์ปจํŠธ๋กค๋Ÿฌํ•œํ…Œ ์ฃผ๋ฉด ๋˜๋Š”๋ฐ ๊ตณ์ด service๊ฐ€ ํ•„์š”ํ•œ๊ฐ€'์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๊ฐ™์€ ๊ถ๊ธˆ์ฆ์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ์ด ๋งŽ์•„๋ณด์˜€๊ณ , ์ •๋ณด๋ฅผ ์กฐ๊ธˆ๋งŒ ์ฐพ์•„๋ด๋„ ์—ฌ๋Ÿฌ ์ •๋ณด๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค.
(์ง€๊ธˆ๋ถ€ํ„ฐ ์–˜๊ธฐํ•˜๋Š” ๋ถ€๋ถ„์€ service์™€ ์ง์ ‘์ ์ธ ์—ฐ๊ด€์€ ์—†๋‹ค๊ณ  ๋А๋‚„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค)
๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด ํด๋ผ์ด์–ธํŠธ ์ฆ‰ controller ์ชฝ์—์„œ ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜์—ฌ ์ •๋ณด๋ฅผ ์–ป๊ณ  ๊ฐ€๊ณตํ•ด์„œ ๊ฐ€์ ธ๊ฐ€๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ณด๋ฅผ ์ง์ ‘ CRUDํ•˜๊ณ  ๊ฐ€๊ณตํ•˜๋Š” ๊ณผ์ •์—์„œ ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ ์›๋ณธ์˜ ์ •๋ณด๊ฐ€ ์†์ƒ๋  ์šฐ๋ ค๊ฐ€ ํฌ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ •๋ณด ๋ณ€๋™์˜ ์œ„ํ—˜์ด ํฐ ๋กœ์ง์€ Service์—์„œ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋กœ ์ด๋•Œ๋„ ์›๋ณธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ถ”์ถœํ•œ ์ •๋ณด์˜ ๋ณต์‚ฌ๋ณธ์ธ DTO๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋กœ์ง์„ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.


DTO๋ž€?

https://kkh1902.tistory.com/155?category=977211


2. SpringboardApplcation ํด๋ž˜์Šค

DemoApplication ํŒŒ์ผ์„ ์—ด์–ด๋ณด๋ฉด, main ๋ฉ”์†Œ๋“œ๊ฐ€ ์„ ์–ธ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

main ๋ฉ”์†Œ๋“œ๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ์—ญํ• ์„ ํ•ด์ค๋‹ˆ๋‹ค.

@SpringBootApplication ์–ด๋…ธํ…Œ์ด์…˜์€ main ํด๋ž˜์Šค์— ์žˆ๋Š” ์–ด๋…ธํ…Œ์ด์…˜์ด๊ณ ,

ํ•ด๋‹น ์–ด๋…ธํ…Œ์ด์…˜์€ ๋‹ค์Œ์˜ ์„ธ ๊ฐ€์ง€ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

 


3. src/main/resources ๋””๋ ‰ํ† ๋ฆฌ

templates : 

๊ธฐ์กด์˜ ์Šคํ”„๋ง์€ HTML ๋‚ด์— ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” JSP์˜ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋””๋ ‰ํ† ๋ฆฌ์˜ ์œ„์น˜๋„ ์›น ๋””๋ ‰ํ† ๋ฆฌ์— ํ•ด๋‹นํ•˜๋Š” src/main/webapp ์•ˆ์— ์กด์žฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. 

ํ•˜์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ war ํŒŒ์ผ๋กœ ํŒจํ‚ค์ง€ํ™” ๋˜์—ˆ์„ ๊ฒฝ์šฐ์—๋งŒ ์ •์  ๋ฆฌ์†Œ์Šค๋ฅผ ์ •์ƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌํ•œ ์ด์œ ๋กœ ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” src/main/resources ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์—์„œ ํ™”๋ฉด๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ํƒ€์ž„๋ฆฌํ”„(Thymeleaf) ํ…œํ”Œ๋ฆฟ ์—”์ง„์˜ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜๋Š”๋ฐ, ํƒ€์ž„๋ฆฌํ”„๋Š” JSP์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ HTML ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ

์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 

์ฆ‰, ํƒ€์ž„๋ฆฌํ”„(Thymeleaf)์˜ ํŒŒ์ผ๋“ค(HTMLํŒŒ์ผ์ด ๋™์ ์ผ ๋•Œ, ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ)

templates ํด๋”์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

static : 

์ •์  ์ปจํ…์ธ ๋Š” ์„œ๋ฒ„์—์„œ ๋ญ ํ•˜๋Š”๊ฑฐ ์—†์ด ํŒŒ์ผ์„ ์›น๋ธŒ๋ผ์šฐ์ €์— ๊ทธ๋Œ€๋กœ ๋‚ด๋ ค์ฃผ๋Š” ๊ฒƒ์ด๊ณ ,

ํ•ด๋‹น ํด๋”์—๋Š” css, fonts, images, plugin, scripts ๋“ฑ์˜ ์ •์  ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์ด ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ๊ธฐ๋ณธ ์„ค์ •์œผ๋กœ ์ •์  ์ปจํ…์ธ ๋ฅผ /static์—์„œ ์ฐพ์•„์„œ ์ œ๊ณต์„ ํ•ฉ๋‹ˆ๋‹ค.

 

application.properties :

ํ•ด๋‹น ํŒŒ์ผ์€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋ฉด์„œ ์ž๋™์œผ๋กœ ๋กœ๋”ฉ๋˜๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ํ†ฐ์บฃ(Tomcat)๊ณผ ๊ฐ™์€ WAS(ํฌํŠธ ๋ฒˆํ˜ธ, ์ฝ˜ํ…์ŠคํŠธ ํŒจ์Šค ๋“ฑ)์˜ ์„ค์ •์ด๋‚˜, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ ์ •๋ณด ๋“ฑ ๊ฐ๊ฐ์œผ๋กœ

๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š” XML ๋˜๋Š” ์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ ์„ค์ •์„ ํ•ด๋‹น ํŒŒ์ผ์— Key - Value ํ˜•์‹์œผ๋กœ ์ง€์ •ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 


4. src/test/java ๋””๋ ‰ํ† ๋ฆฌ

ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์—๋Š” DemoApplicationTests ํด๋ž˜์Šค๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ,

ํ•ด๋‹น ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ๊ฐ์˜ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์— ์•Œ๋งž์€ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด์˜ ์Šคํ”„๋ง๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋ณต์žกํ•œ ์„ค์ • ์—†์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


build.gradle

ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ Type์„ ๊ทธ๋ž˜๋“ค(Gradle)๋กœ ์„ ํƒ

๋ฉ”์ด๋ธ(Maven)์€ pom.xml

๋ฉ”์ด๋ธ(Maven)๊ณผ ๊ทธ๋ž˜๋“ค(Gradle)์˜ ๊ฐœ๋… ๋ฐ ๋น„๊ต

 

 


MVC ํŒจํ„ด

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“š Study > Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

junit4 ์™€ junit 5 ์˜ ์ฐจ์ด์ ๊ณผ ์žฅ๋‹จ์  ๊ทธ๋ฆฌ๊ณ  ๋ญ๋ฅผ ๋”๋งŽ์ด ์“ฐ์ด๋Š”์ง€?  (0) 2023.05.01
Thymeleaf Fragment (Fragment ๋‚˜๋ˆ„๊ธฐ)  (0) 2022.09.06
Spring์ด๋ž€?  (0) 2022.08.06
์Šคํ”„๋ง(Spring)์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” Annotation ๊ฐœ๋… ๋ฐ ์˜ˆ์ œ ์ •๋ฆฌ  (0) 2022.08.06
DAO, DTO, VO ๋ž€?  (0) 2022.07.15
    '๐Ÿ“š Study/Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • Thymeleaf Fragment (Fragment ๋‚˜๋ˆ„๊ธฐ)
    • Spring์ด๋ž€?
    • ์Šคํ”„๋ง(Spring)์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” Annotation ๊ฐœ๋… ๋ฐ ์˜ˆ์ œ ์ •๋ฆฌ
    • DAO, DTO, VO ๋ž€?
    kkh1902
    kkh1902
    1Day 1 Commit ๋ชฉํ‘œ ๊ณต๋ถ€ํ•œ๊ฒƒ๋“ค ๋งค์ผ ๊ธฐ๋กํ•˜๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”