๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

WINK-(Web & App)/Spring Boot ์Šคํ„ฐ๋””

[2025 1ํ•™๊ธฐ ์Šคํ”„๋ง๋ถ€ํŠธ ์Šคํ„ฐ๋””] ์ด์ƒ๋ž˜ #4์ฃผ์ฐจ

๋ฐ˜์‘ํ˜•

๐Ÿ” ์ปดํฌ๋„ŒํŠธ ์Šค์บ”๊ณผ ์ž๋™ ์˜์กด๊ด€๊ณ„ ์„ค์ •

 ์ด์ œ ์‹œํ—˜์ด ๋๋‚ฌ์œผ๋‹ˆ ๋‹ค์‹œ ๊ณต๋ถ€ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค...

 

์ผ๋‹จ controller ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ 
์—ฌ๊ธฐ๋Š” @Service...
์—ฌ๊ธฐ๋Š” @Repository๋ฅผ ํ•˜๋ผ๋Š”๋ฐ...

์†”์งํžˆ ๋ญ๊ฐ€ ๋ญ”์ง€ ํ•˜๋‚˜๋„ ๋ชจ๋ฅด๊ฒ ์–ด์š” ํ•˜ํ•˜ ์—ด์‹ฌํžˆ ์•Œ์•„๋ณผ๊ฒŒ์š”

  • Controller ๋ฅผ ํ†ตํ•ด์„œ ์™ธ๋ถ€ ์š”์ฒญ์„ ๋ฐ›๊ณ 
  • Service ์—์„œ ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์„ ๋งŒ๋“ค๊ณ 
  • Repository์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ

ํ•˜๋Š”๊ฒŒ ์ผ๋ฐ˜์ ์ธ ํŒจํ„ด์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค

 

์ด๋ ‡๊ฒŒ ์—ฐ๊ฒฐ์„ ํ•ด์ฃผ๋ฉด memberService์™€ memberRepository๊ฐ€ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์— ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ๋“ฑ๋ก ๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋Œ€์š”

@Autowired

 

์œ„์ฒ˜๋Ÿผ ์—ฐ๊ฒฐํ•ด ์ค„ ๋•Œ ์“ด๋‹ค 

  • ์ปจํŠธ๋กค๋Ÿฌ ์ƒ์„ฑ์ž์—์„œ  

- ๋ฉค๋ฒ„ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ƒ์„ฑ์ด ๋ ๋•Œ ์Šคํ”„๋ง ๋นˆ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ๋ฉค๋ฒ„ ์„œ๋น„์Šค ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ๋‹ค ์ค€๋‹ค. (์˜์กด๊ด€๊ณ„ ์„ค์ •)

 

  • ์„œ๋น„์Šค์—์„œ

- ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ repository๋ฅผ ๊ฐ€์ ธ๋‹ค ์ค€๋‹ค

 

์Šคํ”„๋ง ๋นˆ์„ ๋“ฑ๋กํ•˜๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•

 

1. ์ปดํฌ๋„ŒํŠธ ์Šค์บ”๊ณผ ์ž๋™ ์˜์กด๊ด€๊ณ„ ์„ค์ • (์œ„์—์„œ ํ•œ ๋ฐฉ๋ฒ•) 

  • ์ปดํฌ๋„ŒํŠธ ์Šค์บ” ์›๋ฆฌ
    • @Component ์• ๋…ธํ…Œ์ด์…˜์ด ์žˆ์œผ๋ฉด ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ์ž๋™ ๋“ฑ๋ก๋œ๋‹ค.
    • @Controller ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ์ž๋™ ๋“ฑ๋ก๋œ ์ด์œ ๋„ ์ปดํฌ๋„ŒํŠธ ์Šค์บ” ๋•Œ๋ฌธ์ด๋‹ค.
    • @Component ๋ฅผ ํฌํ•จํ•˜๋Š” ๋‹ค์Œ ์• ๋…ธํ…Œ์ด์…˜๋„ ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ์ž๋™ ๋“ฑ๋ก๋œ๋‹ค.
      • @Controller
      • @Service
      • @Repository

2. ์ž๋ฐ” ์ฝ”๋“œ๋กœ ์ง์ ‘ ์Šคํ”„๋ง ๋นˆ ๋“ฑ๋กํ•˜๊ธฐ

์ด๋ ‡๊ฒŒ ์ง์ ‘ @Bean ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์œ„์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์—ฐ๊ฒฐ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜๋„ Controller์—์„œ๋Š” ์œ„์™€ ๋™์ผํ•˜๊ฒŒ ์ปดํฌ๋„ŒํŠธ ์Šค์บ”์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค !!

 

++ Dependency Injection ๋ฐฉ๋ฒ•

- ํ•„๋“œ ์ฃผ์ž…

- setter ์ฃผ์ž…

- ์ƒ์„ฑ์ž ์ฃผ์ž…

์˜์กด๊ด€๊ณ„๊ฐ€ ์‹คํ–‰์ค‘์— ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†์œผ๋ฏ€๋กœ ์ƒ์„ฑ์ž ์ฃผ์ž…์„ ๊ถŒ์žฅ

 

++ ์‹ค๋ฌด์—์„œ๋Š” ์ฃผ๋กœ ์ •ํ˜•ํ™”๋œ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค, ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๊ฐ™์€ ์ฝ”๋“œ๋Š” ์ปดํฌ๋„ŒํŠธ ์Šค์บ”์„ ์‚ฌ์šฉ.

 ๊ทธ๋ฆฌ๊ณ  ์ •ํ˜•ํ™” ๋˜์ง€ ์•Š๊ฑฐ๋‚˜, ์ƒํ™ฉ์— ๋”ฐ๋ผ ๊ตฌํ˜„ ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋ฉด ์„ค์ •์„ ํ†ตํ•ด ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ๋“ฑ๋ก.

 

๋ญ”๊ฐ€ ์˜ค๋žœ๋งŒ์— ํ•˜๋‹ˆ๊นŒ ๋‚ด์šฉ์€ ์งง์€๋ฐ ์–ด๋ ค์›Œ์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ญ‰ ๋ณต์Šต์„ ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์•„์š”... ํ™”์ดํŒ…

๋ฐ˜์‘ํ˜•