๐Ÿ’ป ๊ณต๋ถ€ ๊ธฐ๋ก/๐Ÿƒ Spring

Spring | DI(Dependency Injection)

  • -
ํ•ด๋‹น ๋‚ด์šฉ์€ ๊ณต๋ถ€์˜ ๋ชฉ์ ์œผ๋กœ ๊ธฐ๋ก๋˜์—ˆ์œผ๋ฉฐ,
์•„๋ž˜ ๋‚ด์šฉ์€ ๋ชจ๋‘ ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰์œผ๋กœ ๊ณต๋ถ€ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
์—ด์‹ฌํžˆ ๋ฐฐ์šฐ๋Š” ์ค‘์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

 

 


 

 

๐Ÿ“Œ ์˜์กด์„ฑ ์ฃผ์ž… DI(Dependency Injection)

Spring ํ”„๋ ˆ์ž„์›Œํฌ๋Š” 3๊ฐ€์ง€ ํ•ต์‹ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์„ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์˜์กด์„ฑ ์ฃผ์ž…(DI)์ด๋‹ค.
์˜์กด์„ฑ ์ฃผ์ž…(DI)์ด๋ž€ ์™ธ๋ถ€์—์„œ ๋‘ ๊ฐ์ฒด ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ฒฐ์ •ํ•ด์ฃผ๋Š” ๋””์ž์ธ ํŒจํ„ด์œผ๋กœ, ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์ด์— ๋‘ฌ์„œ ํด๋ž˜์Šค ๋ ˆ๋ฒจ์—์„œ๋Š” ์˜์กด๊ด€๊ณ„๊ฐ€ ๊ณ ์ •๋˜์ง€ ์•Š๋„๋ก ํ•˜๊ณ  ๋Ÿฐํƒ€์ž„ ์‹œ์— ๊ด€๊ณ„๋ฅผ ๋™์ ์œผ๋กœ ์ฃผ์ž…ํ•˜์—ฌ ์œ ์—ฐ์„ฑ์„ ํ™•๋ณดํ•˜๊ณ  ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.
  • ํ•œ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์˜์กด์„ฑ์ด ์žˆ๋‹ค๊ณ  ํ•จ.
  • ๋Ÿฐํƒ€์ž„ ์‹œ ์˜์กด ๊ด€๊ณ„๋ฅผ ๋งบ๋Š” ๋Œ€์ƒ์„ ์™ธ๋ถ€์—์„œ ๊ฒฐ์ •ํ•˜๊ณ  ์ฃผ์ž…ํ•ด ์ค€๋‹ค.
  • ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋Š” DI ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ด์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.

 

 

์˜์กด์„ฑ ์ฃผ์ž…์˜ ์žฅ์ 

  • ์˜์กด์„ฑ ์ฃผ์ž…์„ ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„ํ•˜๋ฉด, ์ฝ”๋“œ๊ฐ€ ์œ ์—ฐํ•ด์ง„๋‹ค.
  • ๋Š์Šจํ•œ ๊ฒฐํ•ฉ๋„(loose coupling) ์„ค๊ณ„
  • ๋ณ€๊ฒฝ์— ์œ ์—ฐํ•ด์ง„๋‹ค.
  • ๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ์€ ๊ฐ์ฒด๋ผ๋ฆฌ๋Š” ๋ถ€ํ’ˆ์„ ์‰ฝ๊ฒŒ ๊ฐˆ์•„๋ผ์šธ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์ถœ์ฒ˜ | ๋ง๋‚˜๋‹ˆ๊ฐœ๋ฐœ์ž

 

[Spring] ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection, DI)์ด๋ž€? ๋ฐ Spring์ด ์˜์กด์„ฑ ์ฃผ์ž…์„ ์ง€์›ํ•˜๋Š” ์ด์œ 

1. ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection)์˜ ๊ฐœ๋…๊ณผ ํ•„์š”์„ฑ [ ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Injection) ์ด๋ž€? ] Spring ํ”„๋ ˆ์ž„์›Œํฌ๋Š” 3๊ฐ€์ง€ ํ•ต์‹ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์„ ์ง€์›ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์˜์กด์„ฑ ์ฃผ์ž…(Dependency Inj

mangkyu.tistory.com

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.