[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. ์ด์ 1 ๋ค์