MapleStory Cookie With Halo

๐Ÿƒ Spring/๐Ÿƒ Spring Boot

[SpringBoot]์Šคํ”„๋ง ๋นˆ ์กฐํšŒ

๋‰ด์ด NUEY 2025. 2. 24. 13:10
๋ฐ˜์‘ํ˜•

 

๊ธฐ๋ณธ ์กฐํšŒ
ac.getBean(๋นˆ์ด๋ฆ„, ํƒ€์ž…)

 

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ

 

โ€ป ๋น„๊ถŒ์žฅ. ์ฐธ๊ณ ์šฉ ํƒ€์ž…์œผ๋กœ ์กฐํšŒ ์‹œ, ๊ฐ™์€ ํƒ€์ž…์˜ ์Šคํ”„๋ง ๋นˆ์ด ๋‘˜ ์ด์ƒ์ด๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๊ตฌ์ฒดํƒ€์ž…์œผ๋กœ ์กฐํšŒ ์‹œ, ๊ตฌํ˜„์— ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ข‹์ง€๋Š” ์•Š๋‹ค.

 

๐Ÿ’ก ์˜ค๋ฅ˜ ํ…Œ์ŠคํŠธ
๋นˆ์ด ์—†์œผ๋ฉด NoSuchBeanDefinitionException ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
assertThrows๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒ ์‹œ ํ…Œ์ŠคํŠธ ์„ฑ๊ณต์ด ๋œจ๊ฒŒ๋” ์ฝ”๋“œ๊ฐ€ ์งœ์˜€๋‹ค.

 


 

๋™์ผํ•œ ํƒ€์ž…์ด ๋‘๊ฐœ ์ด์ƒ์ผ ๊ฒฝ์šฐ

 

๋‚ด๋ถ€ ํด๋ž˜์Šค config๋ฅผ ๋งŒ๋“ค์–ด ์ค‘๋ณต ์—๋Ÿฌ๋ฅผ ๋‚ด๋ณด์•˜๋‹ค.
NoUniqueBeanDefinitionException ์˜ˆ์™ธ ๋ฐœ์ƒ

 

์˜ˆ์ƒ ์˜ˆ์™ธ ๋ฐœ์ƒ์‹œ ์„ฑ๊ณตํ•˜๊ฒŒ๋” ๋ฐ”๊ฟ”์ฃผ์ž.

 

๊ฐ™์€ ํƒ€์ž…์ด ๋‘˜ ์ด์ƒ์ด๋ฉด, ๋นˆ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋ฉด ๋œ๋‹ค.

 

๐Ÿ’ก ํŠน์ • ํƒ€์ž… ๋ชจ๋‘ ์กฐํšŒํ•˜๊ธฐ  ac.getBeansOfType(ํƒ€์ž…); 

 


 

์ƒ์†๊ด€๊ณ„

 

  • ๋ถ€๋ชจ ํƒ€์ž…(Interface)์œผ๋กœ ์กฐํšŒํ•˜๋ฉด, ์ž์‹ ํƒ€์ž…๋„ ํ•จ๊ป˜ ์กฐํšŒ๋œ๋‹ค.

  • ๊ทธ๋ž˜์„œ ๋ชจ๋“  ์ž๋ฐ” ๊ฐ์ฒด์˜ ์ตœ๊ณ  ๋ถ€๋ชจ์ธ Objectํƒ€์ž…์œผ๋กœ ์กฐํšŒํ•˜๋ฉด, ๋ชจ๋“  ์Šคํ”„๋ง ๋นˆ์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ž์‹์ด ๋‘˜ ์ด์ƒ ์žˆ๊ธฐ์— ์ค‘๋ณต ์˜ค๋ฅ˜ ๋ฐœ์ƒ

 

์˜ˆ์ƒ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ†ต๊ณผํ•˜๊ฒŒ๋” ์ˆ˜์ •ํ•˜์ž

 

ํ•ด๊ฒฐ๋ฐฉ์•ˆ


 

โ€ป ๋ถ€๋ชจ ํƒ€์ž…์œผ๋กœ ๋ชจ๋‘ ์กฐํšŒํ•ด๋ณด์ž

 


ํ‰์ƒ ์‹œ์—๋Š” ์ด๋Ÿฌํ•œ ๋นˆ ์กฐํšŒ๋ฅผ ์‚ฌ์šฉํ•  ์ผ์ด ์—†์ง€๋งŒ, ์ˆœ์ˆ˜ ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ Spring์œผ๋กœ ๋ณ€ํ™˜ ์‹œ ์‚ฌ์šฉ๋œ๋‹ค.

 

โ€ป ์ฐธ์กฐ : https://www.inflearn.com/roadmaps/373

๋ฐ˜์‘ํ˜•