๐Ÿ“—SPRING

[SPRING] ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ ๋ฐ ๊ตฌ์กฐ ๋ถ„์„

๋น™๋””์šฉ 2023. 6. 19.

์Šคํ”„๋ง์„ ๋ฐฐ์šฐ๊ธฐ์— ์•ž์„œ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

 

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

1)File > New > Spring > Spring Legacy Project๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

Spring์ด ์—†๋Š” ๊ฒฝ์šฐ, Help > Eclipse Markect place์—์„œ sts ๊ฒ€์ƒ‰ ํ›„, Spring Tools 3 (Standalone Edition) 3.9.14.RELEASE๋ฅผ ๋‹ค์šด๋ฐ›์œผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

2) ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ ์ž„์˜๋กœ ์„ค์ •ํ•˜๊ณ  Spring MVC Project๋ฅผ ์„ ํƒ ํ›„ Next๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

3) Package ์ž…๋ ฅ

์ฝ”๋“œ์˜ ๊ตฌ์กฐํ™”, ๊ฐ€๋…์„ฑ, ์ถฉ๋Œ ๋ฐฉ์ง€ ๋“ฑ์˜ ์ด์œ ๋กœ ๋ณดํ†ต 3๋‹จ๊ณ„๋กœ ํŒจํ‚ค์ง€๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ์Šคํ”„๋ง์˜ ๊ทœ์น™์ด ์•„๋‹ˆ๋ฉฐ, ํ”„๋กœ์ ํŠธ์˜ ํŠน์„ฑ๊ณผ ๊ฐœ๋ฐœ์ž๋“ค์˜ ์„ ํ˜ธ๋„์— ๋”ฐ๋ผ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ์ƒ์„ฑ๋œ SPRING ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋ถ„์„

์ฒ˜์Œ Spring ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์œ„์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ์ƒ์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค. 

1) src/main/java

ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  JAVA์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.

2) src/main/resources

ํ”„๋กœ์ ํŠธ์˜ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

3) Libraries

JAVA ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(JAR)๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

4) src/main/wabapp/WEB-INF/views

viewํŒŒ์ผ์ธ jsp ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

5) src/main/webapp/WEB-INF/spring

์Šคํ”„๋ง ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ค์ • ํŒŒ์ผ์„ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

  • servlet-context.xml
    • ์Šคํ”„๋ง MVC ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ค์ • ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ ์ปจํŠธ๋กค๋Ÿฌ, ๋ทฐ ๋ฆฌ์กธ๋ฒ„, ํ•ธ๋“ค๋Ÿฌ ๋งคํ•‘ ๋“ฑ ์›น ๊ด€๋ จ๋œ ์„ค์ •์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • root-context.xml
    • ์Šคํ”„๋ง ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฃจํŠธ ์ปจํ…์ŠคํŠธ ์„ค์ • ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ ์ฃผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค, ๋ณด์•ˆ ๋“ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ์ ์ธ ์„ค์ •์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ, ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ ๋“ฑ๊ณผ ๊ฐ™์€ ์ „์—ญ์ ์ธ ์„ค์ •์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6) web.xml

Java ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐ์น˜ ๋ฐ ๊ตฌ์„ฑ์„ ์ •์˜ํ•˜๋Š” ์„ค์ • ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ์„œ๋ธ”๋ฆฟ, ํ•„ํ„ฐ, ๋ฆฌ์Šค๋„ˆ ๋“ฑ์˜ ์›น ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋“ฑ๋กํ•˜๊ณ , URL ๋งคํ•‘, ์„ธ์…˜ ๊ด€๋ฆฌ, ์ธ์ฝ”๋”ฉ ์„ค์ • ๋“ฑ์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „๋ฐ˜์ ์ธ ๋™์ž‘์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

 

7)pom.xml

Maven ํ”„๋กœ์ ํŠธ์˜ ์„ค์ • ํŒŒ์ผ๋กœ, ํ”„๋กœ์ ํŠธ์˜ ๋นŒ๋“œ, ์˜์กด์„ฑ ๊ด€๋ฆฌ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๋“ฑ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ์˜ ํ•„์š”ํ•œ ์˜์กด์„ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค๊ณผ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๋ฉฐ, ๋นŒ๋“œ ํˆด์ธ Maven์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ปดํŒŒ์ผ, ํŒจํ‚ค์ง•, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€