[Springboot] Springboot๋ž€?๐ŸŒฟ

๋ฐ•์ •ํ˜„ยท2023๋…„ 9์›” 27์ผ
1
post-thumbnail

1. SpringBoot๋ž€?

โ–ถ๏ธ ์Šคํ”„๋ง์€ ๊ธฐ์กด ๊ธฐ์ˆ ์˜ ๋ณต์žก์„ฑ์„ ํฌ๊ฒŒ ์ค„์ธ ํ”„๋ ˆ์ž„์›Œํฌ์ด์ง€๋งŒ, ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์Šคํ”„๋ง์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€์˜ ์‚ฌํ•ญ๋“ค์„ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

  • ์Šคํ”„๋ง์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ๋ณต์žกํ•จ
  • ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์žกํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์Œ
  • ์Šคํ”„๋ง๋ถ€ํŠธ๊ฐ€ ๋ณต์žกํ•œ ์„ค์ •์„ ๋Œ€์‹  ํ•ด์ฃผ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ
  • ์ฆ‰, ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ์Šคํ”„๋ง์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ๋•Œ์— ํ•„์š”ํ•œ ์„ค์ •์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ๋ณ„๋„์˜ ํ”„๋ ˆ์ž„์›Œํฌ์ž„
  • ์Šคํ”„๋ง์„ ์‚ฌ์šฉํ•  ๋•Œ ์–ด๋ ค์šด ์ดˆ๊ธฐ ์„ค์ •์— ์Ÿ์•„์•ผ ํ•  ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์„ ์ ˆ์•ฝํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Œ
  • ๋˜ํ•œ, ๊ธฐ์กด์— ๋ฐฐํฌํ•  ๋•Œ๋Š” ๋ณ„๋„์˜ ์™ธ์žฅ ์›น ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ณ , ํ”„๋กœ์ ํŠธ๋ฅผ .WarํŒŒ์ผ๋กœ ๋นŒ๋“œํ•˜์—ฌ ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ–ˆ๋Š”๋ฐ ์ด๋Š” ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋Š๋ฆฌ๊ณ  ๋ฒˆ๊ฑฐ๋กœ์›€
  • ์Šคํ”„๋ง๋ถ€ํŠธ๋Š” ์ž์ฒด์ ์ธ ์›น ์„œ๋ฒ„๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์–ด ๋น ๋ฅด๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Œ
  • ๋˜ํ•œ, ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ .Jar ํŒŒ์ผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์–ด, ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ๋ฐ ๋„์ปค์™€ ๊ฐ™์€ ๊ฐ€์ƒํ™” ํ™˜๊ฒฝ์— ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌ๊ฐ€๋Šฅ

(1) ์Šคํ”„๋ง ๋ถ€ํŠธ๊ฐ€ ๋‚˜์˜ค๊ฒŒ๋œ ์ด์œ 

  • ๊ณต์‹์‚ฌ์ดํŠธ์—์„œ๋Š” โ€œjust Runโ€์„ ์–ธ๊ธ‰ํ•˜์˜€๋Š”๋ฐ, ๋‹จ์ง€ ์‹คํ–‰๋งŒ ํ•˜๋ฉด ๋˜๋Š” ์Šคํ”„๋ง ๊ธฐ๋ฐ˜์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ
  • ์•ž์„œ ์„ค๋ช…ํ•œ ๋‚ด์šฉ์ฒ˜๋Ÿผ ์Šคํ”„๋ง์€ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์–ด ์„ค์ •์— ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆผ
  • ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์„ค์ •์ด ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž๋Š” ์‚ฌ์šฉ๋งŒ ํ•˜๋ฉด ๋จ

(2) ์Šคํ”„๋ง ๋ถ€ํŠธ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ

  • ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ์ž๋™์„ค์ •(AutoConnfiguration)์„ ์ด์šฉํ•จ
    • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  Dependency๋ฅผ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ด€๋ฆฌ
    • jarํŒŒ์ผ์ด ํด๋ž˜์Šค ํŒจ์Šค์— ์žˆ๋Š” ๊ฒฝ์šฐ ์Šคํ”„์ธ ๋ถ€ํŠธ๋Š” Dispatcher Servlet์œผ๋กœ ์ž๋™ ๊ตฌ์„ฑ๋จ
    • ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ๋ฏธ๋ฆฌ ์„ค์ •๋˜์–ด ์žˆ๋Š” Starterํ”„๋กœ์ ํŠธ๋ฅผ ์ œ๊ณต
    • xml์„ค์ •์—†์ด ์ž๋ฐ”์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ
  • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์‚ฌ์šฉ๋˜๋Š” Denpendency๋“ค์€ ํ˜ธํ™˜๋˜๋Š” ๋ฒ„์ „์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผ ํ•จ
    • ์ด๋Ÿฐ ๋ณต์žก๋„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์Šคํ”„๋ง๋ถ€ํŠธ๋Š” SpringBoot-Starter๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ž๋™์œผ๋กœ ํ˜ธํ™˜๋˜๋Š” ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•จ
    • ๊ฐœ๋ฐœ์ž๋Š” Starter๋ผ๋Š” Dependency๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ฐ๋ฉด ์Šคํ”„๋ง๋ถ€ํŠธ๊ฐ€ ์•Œ์•„์„œ ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ•ด์คŒ

(3) ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ์˜ starter ๋””ํŽœ๋˜์‹œ

  • spring-boot-starter-web-service: SOAP ์›น ์„œ๋น„์Šค
  • spring-boot-starter-web: RestFul ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ
  • spring-boot-starter-test: ๋‹จ์œ„ ํ…Œ์ŠคํŠธ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
  • spring-boot-starter-jdbc: ๊ธฐ๋ณธ์ ์ธ JDBC
  • spring-boot-starter-security: ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ(๊ถŒํ•œ, ์ธ์ฆ)
  • spring-boot-starter-jpa: Spring Data JPA(Hibernate)
  • spring-boot-starter-cache: ์บ์‹œ
profile
๊ฐœ๋ฐœ์„ ๊ฐœ๋ฐœ๊ดด๋ฐœํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•œ ๋…ธ๋ ฅ

0๊ฐœ์˜ ๋Œ“๊ธ€