ํ๋กํผํฐ ํ์ผ์ ์ด์ฉํ ๊ฐ ์ค์ (2)
-
Spring Bean๋ฑ๋ก ๋ฉํ์ ๋ณด ์ค์ , Bean ๋ฑ๋ก annotation(@Component, @Repository, @Service, @Controller) , Bean ์์กด๊ด๊ณ ์ฃผ์ annotation (@Autowired, @Resource, @Value, @Quailfier), ํ๋กํผํฐ ํ์ผ์ ์ด์ฉํ ์ค์
1. Bean ๋ฑ๋ก ๋ฉํ์ ๋ณด ๊ตฌ์ฑ 1๏ธโฃ XML ๋จ๋ ์ฌ์ฉ ์ง๊ธ๊น์ง ์ฌ์ฉํด์๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ชจ๋ Bean์ XML์ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ์ด๋ค. -> ์ด ๋ฐฉ๋ฒ์ ๋ชจ๋ Bean์ XML ์์ ํ์ธํ ์ ์์ง๋ง Bean ๊ฐ์๊ฐ ๋ง์์ง๋ฉด xml ํ์ผ์ ๊ด๋ฆฌํ๊ธฐ ์ ์ ์ด๋ ค์์ง๋ค. -> ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค๊ณผ ๊ณตํต์ผ๋ก ํด๋น ์ค์ ํ์ผ์ ๊ณต์ ํด์ ๊ฐ๋ฐํ๋ค๋ฉด ์ค์ ํ์ผ์ ๋์์ ์์ ํ๋ค๊ฐ ์ถฉ๋์ด ์ผ์ด๋๋ ์ํ์ด ์๊ธธ ์๋ ์๋ค. -> DI ์ ํ์ํ Setter ๋ฉ์๋์ Constructor ๊ฐ ์ฝ๋ ๋ด์ ๋ฐ๋์ ์กด์ฌํด์ผํ๋ค. 2๏ธโฃ XML๊ณผ ๋น ์ค์บ๋(Bean Scanning) ์ ํผ์ฉ Bean์ผ๋ก ์ฌ์ฉ๋ ํด๋์ค์ ํน๋ณํ annotation์ ๋ถ์ฌํด์ฃผ๋ฉด ์ด๋ฐ ํด๋์ค๋ฅผ ์๋์ผ๋ก ์ฐพ์์ Bean์ผ๋ก ๋ฑ๋กํด์ค๋ค. ํน์ annotation์ด..
2021.11.09 -
Spring Bean ์์กด๊ด๊ณ, ํ๋กํผํฐ ๊ฐ ์ค์ , ํ๋กํผํฐ ํ์ผ์ ์ด์ฉํ ๊ฐ ์ค์ ํ๊ธฐ
1. Bean ์์กด๊ด๊ณ ์ค์ 1๏ธโฃ Setter Injection Setter ๋ฉ์๋๋ฅผ ํตํด ์์กด๊ด๊ณ๊ฐ ์๋ Bean์ ์ฃผ์ ํ๊ธฐ ์ํด์๋ ํ๊ทธ๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ ref ์์ฑ์ Bean ์ด๋ฆ์ ์ด์ฉํด ์ฃผ์ ํ Bean์ ์ฐพ๊ณ , value ์์ฑ์ ๋จ์ ๊ฐ ๋๋ Bean์ด ์๋ ๊ฐ์ฒด๋ฅผ ์ฃผ์ ํ ๋ ์ฌ์ฉํ๋ค. Hello ํด๋์ค์ setter ๋ฉ์๋๋ฅผ ํตํด Bean ์ฃผ์ ํ ๋ property ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ setName์ String์ด๊ธฐ ๋๋ฌธ์ ๋จ์ ๊ฐ์ ๋ฃ์ด์ฃผ๊ธฐ ์ํด value์์ฑ์ผ๋ก ์ค์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ setPrinter์ Printer๋ผ๋ Bean์ ์ฃผ์ ํด์ค์ผํ๊ธฐ ๋๋ฌธ์ ref ์์ฑ์ผ๋ก ์ค์ ํ๋ค. 2๏ธโฃ Constructor Injection Constructor(์์ฑ์)๋ฅผ ํตํด ์์กด๊ด๊ณ๊ฐ ์๋ ..
2021.11.09