[Spring] ์ ๋ ธํ ์ด์ ์ ์ด์ฉํ ๋น ์ค์ ๋ฐฉ๋ฒ ์ ๋ฆฌ [Spring] ์ ๋ ธํ ์ด์ ์ ์ด์ฉํ ๋น ์ค์ ๋ฐฉ๋ฒ ์ ๋ฆฌ ๋น ์ค์ ์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์คํ๋ง ์ ๋ ธํ ์ด์ @Required, @Autowired, @Qualifier, @Value๊ณผ JSR-250 ์ ๋ ธํ ์ด์ @PostConstruct, @PreDestroy, @Resource์ ๋ํด ์์๋ณด์ ์ด ์ ๋ ธํ ์ด์ ๋ค์ ์ฌ์ฉํด ๊ธฐ์กด์ XML ๋น ์ค์ ํ์ผ์ ๋ชจ๋ ์์ฑํ๋ ๋น ์ค์ ์ ๋น ํด๋์ค์ ์ง์ ์ค์ ํ ์ ์๋ค. XML ์ค์ ์ ์ ๋ ธํ ์ด์ ๋น ์ค์ ์ ์ฌ์ฉํ๊ธฐ ์ํ ์ฝ๋ ์ถ๊ฐ context ๋ค์ ์คํ์ด์ค์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค. ์ด๋ ๊ฒ ์ค์ ํ๋ฉด ๋น ์ค์ ์ XML ํ์ผ์ด ์๋ ๋น ํด๋์ค์ ์ ๋ ธํ ์ด์ ์ ๊ฒ์ํด ๋ฐ์ํ๋ค. @Required - setter์ ๋ถ์ฌ ๋ฐ๋์ ์ฃผ์ ํด์ผํ๋ ํ๋กํผํฐ๋ก ์ค์ ํ๋ ์ ๋ ธํ ์ด์ - Spring.. 2020. 4. 24. [Spring] ์์กด์ฑ ์ฃผ์ ์ ๋ ธํ ์ด์ ์ ๋ฆฌ - @Autowired, @Resource, @Inject [Spring] ์์กด์ฑ ์ฃผ์ ์ ๋ ธํ ์ด์ ์ ๋ฆฌ - @Autowired, @Resource, @Inject 1. @Autowired @Autowired๋ ์ฃผ์ ํ๋ ค๊ณ ํ๋ ๊ฐ์ฒด์ ํ์ ์ด ์ผ์นํ๋ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ์ฃผ์ ํ๋ค. @Autowired๋ ํ๋, ์์ฑ์, Setter์ ๋ถ์ผ ์ ์๋ค. ๋จ, @Autowired๋ฅผ ํ๋, Setter์ ๋ถ์ฌ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ฐ๋์ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์ ์๋์ด ์์ด์ผ ํ๋ค. 1) @Autowired - ํ๋ ์ฃผ์ public class WordRegisterServiceUseAutowired { @Autowired private WordDao wordDao; public WordRegisterServiceUseAutowired() { } } 2) @Autowired - ์์ฑ์ ์ฃผ์ p.. 2020. 4. 13. [Spring] @Autowired ๋์ ์๋ฆฌ - BeanPostProcessor [Spring] @Autowired ๋์ ์๋ฆฌ - BeanPostProcessor @Autowired ์ ๋ ธํ ์ด์ ์ ์์ฑ์, setter, ํ๋์ ๋ถ์ด๊ธฐ๋ง ํจ์ผ๋ก์จ ๊ฐํธํ๊ฒ ์์กด์ฑ์ ์ฃผ์ ๋ฐ์ ์ ์๋๋ฐ ์ด๋ป๊ฒ ๊ทธ๋ ๊ฒ ๋์ํ ์ ์๋์ง, ๊ทธ ์๋ฆฌ์ ๋ํด ์์๋ณด์. ๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด @Autowired ์ ๋ ธํ ์ด์ ์ BeanPostProcessor๋ผ๋ ๋ผ์ดํ ์ฌ์ดํด ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด์ธ AutowiredAnnotationBeanPostProcessor์ ์ํด ์์กด์ฑ ์ฃผ์ ์ด ์ด๋ฃจ์ด์ง๋ค. BeanPostProcessor๋ ๋น์ initializing(์ด๊ธฐํ) ๋ผ์ดํ ์ฌ์ดํด ์ด์ , ์ดํ์ ํ์ํ ๋ถ๊ฐ ์์ ์ ํ ์ ์๋ ๋ผ์ดํ ์ฌ์ดํด ์ฝ๋ฐฑ์ด๋ค. ๊ทธ๋ฆฌ๊ณ BeanPostProcessor์ ๊ตฌํ์ฒด์ธ AutowiredAnno.. 2020. 3. 1. [Spring] @Autowired์ ๋ค์ํ ์ฌ์ฉ ๋ฐฉ๋ฒ - required, Primary, Qualifier [Spring] @Autowired์ ๋ค์ํ ์ฌ์ฉ ๋ฐฉ๋ฒ - required, Primary, Qualifier 1. ์์กด๊ฐ์ฒด ํ์ ์ ๋น์ด ์๋ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด BookService ํด๋์ค์ BookRepository ์ธํฐํ์ด์ค๊ฐ ์๋ค. import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class BookService { BookRepository bookRepository; @Autowired public BookService(BookRepository bookRepository) { this.bookRepository = boo.. 2020. 3. 1. [Spring] ๋น์ ์ค์ ํ๋ 3๊ฐ์ง ๋ฐฉ๋ฒ - XML, JAVA, Component Scan [Spring] ๋น์ ์ค์ ํ๋ 3๊ฐ์ง ๋ฐฉ๋ฒ - XML, JAVA, Component Scan ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค. ์์ ์ฝ๋์ ํ์ํ ์์กด์ฑ์ ๋ฐ๊ธฐ ์ํด spring boot ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๊ฒ์ด๋ค. ์ฐธ๊ณ ๋ก ์์ ์ฝ๋์๋ ์ด ์์กด์ฑ์ด ํ์ํ๋ค. Spring Initializr๋ฅผ ์ ํํ๊ณ Next๋ฅผ ํด๋ฆญํ๋ค. Group, Artifact, Name์ ์ ๋ ฅํ๊ณ Next๋ฅผ ํด๋ฆญํ๋ค. Group์ ํจํค์ง๋ช ์ ์ ์ด์ค๋ค. (๋ณดํต ๋๋ฉ์ธ๋ช ์ ๋ค์ง์ด์..) Web - Spring Web์ ๋ฃ๊ณ Next๋ฅผ ํด๋ฆญํ๋ค. Finish๋ฅผ ํด๋ฆญํด์ ์ ๊ท ํ๋ก์ ํธ ์์ฑ์ ์๋ฃํ๋ค. Spring boot ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์๋ค. pom.xml์ ์ด์ด๋ณด๋ฉด spring boot 2.2.5 ๋ฒ์ ์ผ๋ก ๋ง๋ค์ด์ก์์ ํ์ธํ ์ ์๋ค. ์ฐ์ธก์.. 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 ๋ค์