[Spring] DI(์˜์กด์„ฑ ์ฃผ์ž…): ์™œ ํ•„์š”ํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ๊นŒ?
ยท
๐Ÿ’ชBackend/Spring
์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ(Spring Framework)์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜๋Š” DI(Dependency Injection, ์˜์กด์„ฑ ์ฃผ์ž…)์ž…๋‹ˆ๋‹ค. DI๋ฅผ ์ดํ•ดํ•˜๋ฉด ๋ณด๋‹ค ์œ ์—ฐํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์‰ฌ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” DI๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์™œ ํ•„์š”ํ•œ์ง€, ๊ทธ๋ฆฌ๊ณ  ์Šคํ”„๋ง์—์„œ DI๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! 1. ์˜์กด์„ฑ(Dependency)์ด๋ž€?ํ•˜๋‚˜์˜ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ๊ด€๊ณ„๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.์ฆ‰, ํ•˜๋‚˜์˜ ๊ฐ์ฒด๊ฐ€ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์•ž์œผ๋กœ ์˜์กด๊ณผ ์‚ฌ์šฉ์„ ๋™์ผํ•œ ์˜๋ฏธ๋กœ ์–ธ๊ธ‰ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! (feat. ์†ก์•„์Œค)  ์˜ˆ์ œ๋ฅผ ๋ณด์ž๋ฉด,public class ProductController { private ProductService productServ..