๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[Spring] ์™œ ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ IoC ์ปจํ…Œ์ด๋„ˆ์˜ ๋นˆ์œผ๋กœ ๋งŒ๋“ค๊นŒ? [Spring] ์™œ ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ IoC ์ปจํ…Œ์ด๋„ˆ์˜ ๋นˆ์œผ๋กœ ๋งŒ๋“ค๊นŒ? IoC๋Š” spring์„ ํ†ตํ•ด์„œ๋งŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ ์•„๋‹ˆ๋ฉฐ ์ผ๋ฐ˜ ์ž๋ฐ” ๊ฐ์ฒด๋กœ DI๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ• ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ๋„ spring์˜ IoC ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. DI(Dependency Injection, ์˜์กด์„ฑ ์ฃผ์ž…) DI๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค spring์—์„œ ์ œ๊ณตํ•˜๋Š” IoC ์ปจํ…Œ์ด๋„ˆ์˜ DI๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•˜๊ณ  ํšจ์œจ์ ์ด๋‹ค. ๊ฐ์ฒด์˜ Scope ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ IoC ์ปจํ…Œ์ด๋„ˆ์˜ ๋นˆ์œผ๋กœ ๋งŒ๋“ค๋ฉด ๊ฐ์ฒด์˜ scope๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์šฉ์ดํ•˜๋‹ค. IoC ์ปจํ…Œ์ด๋„ˆ์—์„œ ๊ด€๋ฆฌ๋˜๋Š” ๋นˆ๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€ํ†ค scope๋กœ ๋“ฑ๋ก๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „๋ฐ˜์ ์œผ๋กœ ์˜ค๋กœ์ง€ ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋งŒ ์‚ฌ์šฉํ•ด๋„ ๋˜๋Š” ๊ฐ์ฒด๋ผ๋ฉด IoC ์ปจํ…Œ์ด๋„ˆ์— ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•ด์„œ ์•„.. 2020. 3. 1.
[Spring] ์˜์กด์„ฑ ์ฃผ์ž…(DI, Dependency Injection)์˜ ์„ธ๊ฐ€์ง€ ๋ฐฉ๋ฒ• [Spring] ์˜์กด์„ฑ ์ฃผ์ž…(DI, Dependency Injection)์˜ ์„ธ๊ฐ€์ง€ ๋ฐฉ๋ฒ• Spring์€ @Autowired ์• ๋…ธํ…Œ์ด์…˜์„ ์ด์šฉํ•œ ๋‹ค์–‘ํ•œ ์˜์กด์„ฑ ์ฃผ์ž… ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. @Autowired ์• ๋…ธํ…Œ์ด์…˜์€ Spring์—๊ฒŒ ์˜์กด์„ฑ์„ ์ฃผ์ž…ํ•˜๋ผ๋Š” ์ง€์‹œ์ž ์—ญํ• ๋กœ ์“ฐ์ด๋Š”๋ฐ ์ƒ์„ฑ์ž, ํ•„๋“œ, ์„ธํ„ฐ์— ๋ถ™์ผ ์ˆ˜ ์žˆ๋‹ค. ๐Ÿšจ Spring IoC ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•œ ์˜์กด์„ฑ ์ฃผ์ž…์€ ๋นˆ(Bean) ๋ผ๋ฆฌ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. 1. ์ƒ์„ฑ์ž ์ฃผ์ž… 1 2 3 4 5 6 7 8 9 @Component public class SampleController { private SampleRepository sampleRepository; @Autowired public SampleController(SampleRepository sampleRepo.. 2020. 2. 28.