์ค๋ ํ ์ผ
๐๐ป 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
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
66์ผ์ฐจ spring ์ ๋ฆฌ (0) | 2021.11.18 |
---|---|
65์ผ์ฐจ(๋์ปค, ์ด๋ฏธ์ง, ์ปจํ ์ด๋, ์ฟ ๋ฒ๋คํฐ์ค) (0) | 2021.11.17 |
60์ผ์ฐจ (0) | 2021.11.12 |
59์ผ์ฐจ_Bean, IoC, DI (0) | 2021.11.10 |
58์ผ์ฐจ (spring1 ์ค์ต) (0) | 2021.11.09 |