Springboot

Spring Boot


Java์–ธ์–ด ๊ฐœ๋ฐœ์‹œ ํ•„์ˆ˜ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ Spring ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ํ•˜์ง€๋งŒ Spring ํ”„๋ ˆ์ž„์›Œํฌ๋Š” XML์„ ์‚ฌ์šฉํ•˜๊ณ  ์ดˆ๊ธฐ์„ค์ •์ด ๋ณต์žกํ•˜์—ฌ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์‹œ ํ•˜๋‚˜ํ•˜๋‚˜ ์„ค์ •ํ•ด์•ผํ•˜๋Š” ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๋ณด์™„ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์˜ ์ดˆ๊ธฐ ์„ค์ •์„ ์†์‰ฝ๊ฒŒ ๋„์™€์ฃผ๋ฉฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” Springboot๊ฐ€ ์žˆ๋‹ค.

์Šคํ”„๋ง ๋ถ€ํŠธ๋ž€?

์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์•„์ฃผ ๊ฐ„ํŽธํ•˜๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›์˜ ์„œ๋ธŒ ํ”„๋กœ์ ํŠธ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
์‰ฝ๊ฒŒ๋งํ•˜๋ฉด ์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ๋ฐœ ์Šคํƒ€ํŠธํŒฉ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹จ๋…์‹คํ–‰๊ฐ€๋Šฅํ•œ ์Šคํ”„๋ง์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•œ๋‹ค.

ํŠน์ง•

  • ๋…๋ฆฝํ˜• Spring ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑ

  • Tomcat, Jetty ๋˜๋Š” Undertow๋ฅผ ์ง์ ‘ ํฌํ•จ(WAR ํŒŒ์ผ์„ ๋ฐฐํฌํ•  ํ•„์š” ์—†์Œ)

  • ๋นŒ๋“œ ๊ตฌ์„ฑ์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋…์ž์ ์ธ โ€˜์Šคํƒ€ํ„ฐโ€™ ์ข…์†์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฉ”ํŠธ๋ฆญ, ์ƒํƒœ ํ™•์ธ ๋ฐ ์™ธ๋ถ€ ๊ตฌ์„ฑ๊ณผ ๊ฐ™์€ ํ”„๋กœ๋•์…˜ ์ค€๋น„ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์ฝ”๋“œ ์ƒ์„ฑ ๋ฐ XML ๊ตฌ์„ฑ ์š”๊ตฌ ์‚ฌํ•ญ ์—†์Œ

  • ๊ฐ€๋Šฅํ•  ๋•Œ๋งˆ๋‹ค Spring ๋ฐ ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ๊ตฌ์„ฑ

์Šคํ”„๋ง๋ถ€ํŠธ ์ข…๋ฅ˜

์Šคํ”„๋ง๋ถ€ํŠธ๋Š” 2๊ฐ€์ง€์˜ ์ข…๋ฅ˜๋กœ ๋นŒ๋“œํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  1. ๋ฉ”์ด๋ธ (Maven)
  • Maven์€ Java์šฉ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋„๊ตฌ๋กœ Apache์˜ Ant ๋Œ€์•ˆ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค.

  • ๋นŒ๋“œ ์ค‘์ธ ํ”„๋กœ์ ํŠธ, ๋นŒ๋“œ ์ˆœ์„œ, ๋‹ค์–‘ํ•œ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ข…์†์„ฑ ๊ด€๊ณ„๋ฅผ pom.xmlํŒŒ์ผ์— ๋ช…์‹œํ•œ๋‹ค.

  • Maven์€ ์™ธ๋ถ€์ €์žฅ์†Œ์—์„œ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์„ ๋‹ค์šด๋กœ๋“œ ํ•œ๋‹ค์Œ, ๋กœ์ปฌ์‹œ์Šคํ…œ์˜ ์บ์‹œ์— ๋ชจ๋‘ ์ €์žฅํ•œ๋‹ค.

  1. ๊ทธ๋ž˜๋“ค (Gradle)
  • Apacahe Maven๊ณผ Apache Ant์—์„œ ๋ณผ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…๋“ค์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์•ˆ์œผ๋กœ์จ ๋‚˜์˜จ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ๊ด€๋ฆฌ ํˆด์ด๋‹ค. (์™„์ „ํ•œ ์˜คํ”ˆ์†Œ์Šค)

  • Groovy ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•œ Domain-specific-language๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (์„ค์ •ํŒŒ์ผ์„ xmlํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋Š” Maven๋ณด๋‹ค ์ฝ”๋“œ๊ฐ€ ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•˜๋‹ค.)

  • Gradle์€ ํ”„๋กœ์ ํŠธ์˜ ์–ด๋А๋ถ€๋ถ„์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ๋Š”์ง€ ์•Œ๊ธฐ ๋•Œ๋ฌธ์—, ๋นŒ๋“œ์— ์ ์ง„์ ์œผ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋นŒ๋“œ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์žฌ์‹คํ–‰ ์‹œํ‚ค์ง€ ์•Š์•„ ์‹œ๊ฐ„์„ ๋‹จ์ถ• ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

์œ„์™€ ๊ฐ™์€ ๋ฉ”์ด๋ธ , ๊ทธ๋ž˜๋“ค ๋‘๊ฐ€์ง€์˜ ๋„๊ตฌ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

๋ฉ”์ด๋ธ์— ์˜ค๋žœ์‹œ๊ฐ„ ๋นŒ๋“œ๊ด€๋ฆฌ๋กœ์จ ๋งŽ์€์ ์œ ์œจ์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์ง€๋งŒ ๊ทธ๋ž˜๋“ค๋กœ ์ ์  ๋ฐ”๋€Œ๊ณ  ์žˆ๋Š” ์ถ”์„ธ์ด๋‹ค.

๊ทธ๋ž˜๋“ค ๊ตฌ์กฐ


๊ทธ๋ž˜๋“ค์€ ์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋น„์Šทํ•œ ํด๋”๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ๋‹ค๋ฅธ์ ์œผ๋กœ
application.properties , build.gradle์„ ํฌํ•จํ•˜๊ณ ์žˆ๋‹ค.

  • ํ”„๋กœ์ ํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” build.gradle

  • ํ”„๋กœ์ ํŠธ ์„ค์ •๊ณผ ๊ฐ™์€ ๋ถ€๋ถ„์€ application.properties ์— ์ž‘์„ฑํ•˜์—ฌ ๊ด€๋ฆฌ๋ฅผ ํ•œ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€


์ดํด๋ฆฝ์Šค๋ฅผ ํ†ตํ•ด ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์‹œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•œ๋ฐ
๊ทธ ์™ธ์˜ ์ถ”๊ฐ€์ ์œผ๋กœ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” https://mvnrepository.com/์—์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

Categories:

Updated:

Leave a comment