๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[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] ์™œ ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ 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] ์Šคํ”„๋ง ๋นˆ(Bean)์˜ ๊ฐœ๋…๊ณผ ์ƒ์„ฑ ์›๋ฆฌ [Spring] ์Šคํ”„๋ง ๋นˆ(Bean)์˜ ๊ฐœ๋…๊ณผ ์ƒ์„ฑ ์›๋ฆฌ ๋นˆ(Bean) Spring IoC ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ ๋นˆ(Bean)์ด๋ผ๋Š” ์šฉ์–ด๋กœ ๋ถ€๋ฅธ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ new ์—ฐ์‚ฐ์ž๋กœ ์–ด๋–ค ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ–ˆ์„ ๋•Œ ๊ทธ ๊ฐ์ฒด๋Š” ๋นˆ์ด ์•„๋‹ˆ๋‹ค. ApplicationContext.getBean()์œผ๋กœ ์–ป์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๋Š” ๋นˆ์ด๋‹ค. ์ฆ‰ Spring์—์„œ์˜ ๋นˆ์€ ApplicationContext๊ฐ€ ์•Œ๊ณ ์žˆ๋Š” ๊ฐ์ฒด, ์ฆ‰ ApplicationContext๊ฐ€ ๋งŒ๋“ค์–ด์„œ ๊ทธ ์•ˆ์— ๋‹ด๊ณ ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์–ด๋–ป๊ฒŒ Spring IoC ์ปจํ…Œ์ด๋„ˆ์— ๋นˆ์„ ๋“ฑ๋กํ• ๊นŒ? ๋นˆ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ์ ์œผ๋กœ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. โ‘  Component Scanning โ‘ก ๋นˆ ์„ค์ •ํŒŒ์ผ์— ์ง์ ‘ ๋นˆ์„ ๋“ฑ๋ก Component Scan @Comp.. 2020. 2. 28.