[Spring] DI์™€ IoC ์ดํ•ดํ•˜๊ธฐ
ยท
๊ณต๋ถ€ํ•˜๊ธฐ/Spring
DI ์ ์šฉ ์ „ ๊ฐ์ฒด ์‚ฌ์šฉ ๋ฐฉ์‹DI ๊ฐœ๋…์„ ์ ์šฉํ•˜๊ธฐ ์ „์—๋Š” ๊ฐ์ฒด ์‚ฌ์šฉ ์‹œ ์–ด๋–ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ์„๊นŒ?1. ์ง์ ‘ ๊ฐ์ฒด ์ƒ์„ฑ์‚ฌ์šฉํ•˜๋ ค๋Š”(=์˜์กดํ•˜๋ ค๋Š”) ๊ฐ์ฒด๋ฅผ ``new`` ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ƒ์„ฑํ•œ๋‹ค.public class CafeController { private StarbucksService starbucksService = new StarbucksService(); public void orderCoffee() { starbucksService.brew(); }}์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ ๊ฐ์ฒด๊ฐ„ ๊ฒฐํ•ฉ๋„๊ฐ€ ๊ฐ•ํ•˜๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ๋งŒ์ผ ์Šคํƒ€๋ฒ…์Šค๊ฐ€ ๋ถ€๋„๊ฐ€ ๋‚˜์„œ ์„œ๋น„์Šค๋ฅผ ์Šคํƒ€๋ฒ…์Šค๊ฐ€ ์•„๋‹Œ ํŒ€ํ™€ํŠผ์œผ๋กœ ๋ฐ”๊ฟ”์•ผ ํ•  ๊ฒฝ์šฐ (ใ…Ž) CafeController ๋‚ด๋ถ€์˜ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.StarbucksService๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ..