๐๋ฐฑ์๋ : BackEnd
[Spring] @Autowired์ ์์น์ Required์ต์
mc.thd
2023. 6. 19. 15:26
@Autowired์ ์์น
setter ์
setterํจ์๊ฐ ํธ์ถ๋๋ฉด์ injection์ด ์ํ๋จ
field ์
๊ธฐ๋ณธ ์์ฑ์๋ฅผ ํธ์ถํ๋ฉด์ injection์ด ์ํ๋จ
๊ธฐ๋ณธ ์์ฑ์๊ฐ ์๋ค๋ฉด error๋ฐ์(์ ์ฝ๋์ ๊ฐ์ ๊ฒฝ์ฐ ์ค๋ฅ ๋ฐ์)
- overload ์์ฑ์ ์
overload ์์ฑ์์์ ๊ฐ์ฒด๋ฅผ ๋ฐ์ธ๋ฉ
์์ ๊ฐ์ดํ๊ฒ ๋๋ฉด @Qualifier์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค
overload์์ฑ์ ๊ฐ์ ๊ฒฝ์ฐ์ Exam์ ๋ ๊ฐ ์ด์ ๋ฃ์ ์ ์๋ค๊ณ ์๊ฐํด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ ๊ฒ!
๐
ํ๋ผ๋ฏธํฐ ๊ฐ์์ @Qualifier์ ์ค์ ํด์ ํด๊ฒฐ
@Autowired์ required ์์ฑ
exam2๋ผ๋ bean์ด ์๋๊ฒฝ์ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ์ค์ ํ ์ ์๋ ์์ฑ์ด๋ค.
required=false๋ก ์ค์ ์ ํ๊ฒ ๋๋ฉด ํด๋น bean์ด ์๋๊ฒฝ์ฐ null์ด ๋๋ค.
print()๋ฌธ์์ null ์กฐ๊ฑด ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๊ฒ ๋จ.(xmlํ์ผ์ ๋๋๊ทธ ๋ ๋ถ๋ถ์ด ์ฃผ์์ฒ๋ฆฌ ๋์ด์ bean์ด ์๋ ๊ฒฝ์ฐ์ด๋ค.)