TIL

61์ผ์ฐจ(DI, IoC, Bean ๊ฐœ๋… ๊ฒ€์ฆ ๋ฐ›๊ธฐ)

haedal-uni 2021. 11. 13. 00:29
728x90

์˜ค๋Š˜ ํ•œ ์ผ

๐Ÿ‘‰๐Ÿป Layer Architecture ๊ทธ๋ฆผ ์ •๋ฆฌ 

๐Ÿ‘‰๐Ÿป DI ํ๋ฆ„ ์ดํ•ดํ•˜๊ธฐ (๊ทธ๋ฆผ์œผ๋กœ ์ •๋ฆฌ)

[์š”์•ฝ ์ •๋ฆฌ] - Layered Architecture, DI ํ๋ฆ„ ์ดํ•ดํ•˜๊ธฐ

 

๐Ÿ‘‰๐Ÿป  [์šฉ์–ด ์ •๋ฆฌ] - DTO, VO, Entity

๐Ÿ‘‰๐Ÿป ํ”ผ๋“œ๋ฐฑ ์ •๋ฆฌ

 

 

 

 

๊ธ€๋กœ ์ •๋ฆฌํ•˜์—ฌ ๋งž๊ฒŒ ์ดํ•ดํ–ˆ๋Š”์ง€ ํ™•์ธ + ์งˆ๋ฌธ

 

1. ๊ฒฐํ•ฉ๋„๋Š” DI, IoC, Bean ๊ฐœ๋…๊ณผ ์—ฐ๊ด€๋œ ๊ฐœ๋…์œผ๋กœ์จ Di๋ฅผ ์ฃผ์ž…ํ•˜๋ฉด ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ˜๋‹ค. ๋ผ๊ณ  ๋ง์„ ํ•œ๋‹ค.

๊ทผ๋ฐ ์ด๋Ÿฐ ๊ฒฐํ•ฉ๋„๊ฐ€ ์˜์กด์„ฑ์ด ์žˆ๋‹ค๊ณ  ํ‘œํ˜„ํ•˜๋Š”๋ฐ ๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ๋ƒฅ ์˜์กด์„ฑ์ด ์žˆ๋‹ค๊ณ  ๋งํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ญ˜๊นŒ?


๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป : ์˜์กด์„ฑ์ด ์žˆ๋‹ค๊ณ  ํ•ด๋„ ๋œ๋‹ค.

 


 

2. @bean์ด๋ผ๊ณ  ์•ˆ์ ๊ณ  @Service๋ผ๊ณ  ์ ์–ด๋„ bean์ด๋ผ๊ณ  ์•„๋Š” ์ด์œ ๋Š” ๋ญ˜๊นŒ?

ํŒ€ ์˜๊ฒฌ : bean = componet = service = repositiory = controller ๊ฐ™์€ ๋œป์œผ๋กœ ๋ด๋„ ๋œ๋‹ค.

 

์–ด๋…ธํ…Œ์ด์…˜์ด bean์ธ๊ฑด๊ฐ€์š”??

ํŒ€ ์˜๊ฒฌ : ์–ด๋…ธํ…Œ์ด์…˜ ์•ˆ์— bean์ด ์žˆ์–ด์„œ ๊ด€๊ณ„๊ฐ€ ๋‹ค๋ฅด๋‹ค.

ํŒ€ ์˜๊ฒฌ : bean ⊂ ์–ด๋…ธํ…Œ์ด์…˜


๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป : @bean, @component, @service, @repository, @controller ๊ฐ€ ๋‹ฌ๋ ค์žˆ๋Š” ํด๋ž˜์Šค๋ฅผ

์Šคํ”„๋ง์—์„œ bean์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋˜๊ณ ,
@Controller ํด๋ž˜์Šค๋Š” @GetMapping ์™€ ๊ฐ™์€ ํŠน์ดํ•œ ์–ด๋…ธํ…Œ์ด์…˜๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—
ํŠน์„ฑ์— ๋งž๊ฒŒ ์–ด๋…ธํ…Œ์ด์…˜์˜ ์ด๋ฆ„์ด ๋‹ค๋ฅด๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

 


3. ์ƒ๋žต

 


 

4. ์ƒ๋žต


 

5. ์˜์กด์„ฑ์ด ์žˆ๋Š” ๊ฐ์ฒด๋“ค์ด ํ•˜๋‚˜์˜ bean์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฑธ๊นŒ or 2๊ฐœ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š”๊ฑด๊ฐ€์š”??
๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป :  ์–ด๋…ธํ…Œ์ด์…˜์ด ๋‹ฌ๋ ค์žˆ๋Š” ํด๋ž˜์Šค๋‹น ํ•˜๋‚˜์˜ ๋นˆ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

 

์ด์™€ ๊ฐ™์€ ์งˆ๋ฌธ์ด ๋‚˜์˜จ ์ด์œ ๋Š” Bean, IoC, DI ๊ธ€์—์„œ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ๊ณ 

ํ”„๋กœํฌ์ฆˆ์™€ ๋ฐ˜์ง€ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๋ผ๋Š” ๊ธ€์„ ์ž‘์„ฑํ–ˆ์—ˆ๋Š”๋ฐ 

ํ”„๋กœํฌ์ฆˆ์™€ ๋ฐ˜์ง€๊ฐ€ ํ•จ๊ป˜ ๋“ค์–ด๊ฐ„ ๊ฐ์ฒด๋ƒ ๋”ฐ๋กœ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฐ์ฒด๋ƒ ๋…ผ๋ž€์ด ์ƒ๊ฒจ์„œ ์—ฌ์ญค๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค.


 

6.  ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป : ๋ธ”๋กœ๊ทธ์— ์“ฐ์‹  ๊ธ€์ •๋„๋กœ ์ดํ•ดํ•˜์…จ์œผ๋ฉด ์ถฉ๋ถ„ํ•œ ๊ฒƒ ๊ฐ™์•„์š”

2021.11.10 - 56์ผ์ฐจ_Bean, IoC, DI

 

 

 

 

728x90