๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[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.