-
[WIL] (230702_ 1์ฃผ์ฐจ) 3 Layer Architecture, Ioc ์ปจํ ์ด๋์ DI, Bean์ด ๋ฌด์์ธ์ง ๋ฐฐ์ ๋ค.WIL 2023. 7. 2. 20:19728x90
๐น ๋ฐฐ์ด ๋ด์ฉ ์ ๋ฆฌ
1. ์คํ๋ฅดํ ์ฝ๋ฉํด๋ฝ ๊ฐ์
: ์ด๋ฒ์ฃผ๋ Spring 2์ฃผ์ฐจ ๊ฐ์๋ฅผ ์๊ฐํ๊ณ 1์ฃผ์ฐจ์์ ์คํ๋ ๊ณผ์ Lv1์ ์ ์ถ ํ ํ์ด์ ํจ๊ป ์ฝ๋๋ฆฌ๋ทฐ ๋ฐ ๋ณํฉ์ ์งํํ๋ค.
์ฝ๋๋ฅผ ๊ตฌ์ํ ๋ Controller์ ๋ชจ๋ ๊ตฌํํ๋๊ฒ์ด ์๋ 3 Layer (Controller, Service, Repository)๋ก ๊ตฌ๋ถํ์ฌ ๊ตฌ์ํ๋๊ฒ ์ดํดํ๊ธฐ๋ ์ฝ๊ณ ์ญํ ์ ๋ถ๋ฆฌํ๋๊ฒ ์ ์ง๋ณด์์ ๋ ์ฉ์ดํ๋ค.
1) controller๋ Client & Service์ ์ํธ์์ฉ์ ํ๋ค.
2) Service๋ controller & Repository์ ์ํธ์์ฉ์ ํ๋ค.
- ์ฃผ๋ก ์๊ตฌ์ฌํญ์ ์ฒ๋ฆฌํ๋ ๋น์ง๋์ค ๋ก์ง์ด๋ค.
3) Repository๋ Service & DB์ ์ํธ์์ฉ์ ํ๋ค.
- DB์ ์ฐ๊ฒฐ๋์ด CRUD ์์ ์ ์ํํ๋ค.
์ด๋ ๊ฒ ์์ ์ ๋๋๋ฉด์ ์ค๋ณต์ฝ๋๊ฐ ๋ฐ์ํ ์ ์๋ค.
์ค๋ณต์ฝ๋๋ ํ๋ฒ๋ง ๊ตฌํํ๊ณ ๋๋จธ์ง๋ ํ์์ ๋ฐ๋ผ ์ฃผ์ ๋ฐ์ ์ ์๊ฒ ์์ฑํ๋๊ฑธ ์ถ์ฒํ๋๋ฐ
์ฌ๊ธฐ์ ์์กด์ฑ ์ฃผ์ ์ DI, ์คํ๋ง์ด ๊ด๋ฆฌํ๋ ๊ฐ์ฒด๋ฅผ Bean, Bean์ ๋ชจ์๋ ์ปจํ ์ด๋๋ฅผ Ioc Container๋ผ๊ณ ํ๋ค.
Bean ๊ฐ์ฒด๋ก ๋ฑ๋กํ๊ธฐ ์ํด์๋ @Component์ ์ฌ์ฉํ๋๋ฐ ์ด๋ ๊ฒ ๋ฑ๋กํด๋๋ฉด
@SpringBootApplication๊ฐ ์คํ๋ ๋ @ComponentScan์ด @Component๋ฅผ ์ฐพ์์ Bean์ผ๋ก ๋ฑ๋กํด์ค๋ค.
์ด๋ ๊ฒ Bean์ผ๋ก ๋ฑ๋กํ์ฌ ์์กด์ฑ์ ์ฃผ์ ํ๋ฉด ๊ฐ์ฒด๋ ์ง์ new๋ก ์์ฑํด์ ์ฌ์ฉํ๋๊ฒ ์๋๋ผ ์ฝํ ๊ฒฐํฉ์ผ๋ก ์งํ๋๊ธฐ ๋๋ฌธ์ ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ด ๋์์ง๋ค.
๐น TIL์ ํ๊ณ
DB๋ฅผ ๋ฑ๋กํ ๋ ๊ธฐ๋ณธํฌํธ๋ 3306์ผ๋ก ์ค์ ๋์ด์๋ค.
ํ๋ก๊ทธ๋จ์ ์ญ์ ํด๋ ํฌํธ 3306์ ํ ๋น์ด ํด์ ๋์ง ์์ ์ ์๊ธฐ ๋๋ฌธ์ netstat๋ช ๋ น์ด๋ฅผ ํตํด์ ํ์ฌ ์ฌ์ฉ์ค์ธ ํฌํธ ์ค 3306์ PID๊ฐ ์๋์ง ํ์ธํด๋ณด๋๊ฒ์ด ์ข๋ค.
์๋์ฐ ํ๊ฒฝ์์๋ ๋ฆฌ๋ ์ค์ ๋ช ๋ น์ด๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์ ํ๊ฒ ๋ณํํด์ ์ฌ์ฉํด์ผํ๋ฉฐ, ์๊ฒฉ ์๋ฒ๋ฅผ ๋ฑ๋กํ์ฌ ํ๋ก๊ทธ๋จ์ ๊ตฌ๋ํ์๋๋ํ๋ก๊ทธ๋จ์ ์ข ๋ฃ์ํค๋๊ฒ ์ข๋ค.
์๊ฒฉ ์๋ฒ๋ฅผ ์์ ํ ์ญ์ ํ ๋๋ 1)ํ์ฌ ๊ตฌ๋์ค์ธ ์๋น์ค๊ฐ ์๋์ง 2) ์ฐ๊ฒฐ๋ ์ค์ ์ ํด์ ํ์ง ์์๋ ๋๋์ง๋ฅผ ๋จผ์ ํ์ธํด๋ณด์. ๊ทธ๋ ์ง ์์ผ๋ฉด
์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
๋ํ ์์กด์ฑ์ฃผ์ ์ ์งํํ ๋๋ ๋จ์ํ @Conponent๋ง ํ์ธํ ๊ฒ ์๋๋ผ ์ฐ๊ฒฐ๋ DB์ ์ํ๋ ํ์ธํด์ผ ์ ์์ ์ผ๋ก ์๋ํ๋ค.
๐น ์ด๋ฒ์ฃผ ๋ชฉํ ๋ฌ์ฑ ์ฌ๋ถ
1. Spring 2์ฃผ์ฐจ ๊ฐ์ ์๊ฐ ํ ๊ณผ์ Lv2 ํ๊ธฐใด> ๊ฐ์ 2ํ๋ ์๋ฃ. Lv2 ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ์ค2.
์ธํ๋ฐ Spring ์ ๋ฌธ๊ฐ์ ์๊ฐํ๊ธฐใด> ๊ธฐ๋ณธ๊ฐ์ ์๊ฐ์๋ฃ
3. <์๋ฐ์ ์ ์>
- ์๋ ์ฑํฐ๋ค ์๊ฐ ๋ฐ ๋ฌธ์ ํ๊ธฐ
07: ๊ธฐ๋ณธ๋ฌธ์ ์ ๋ถ ํ์ด๋ณด๊ธฐ
08. ์์ธ์ฒ๋ฆฌ(Exception Handling) ๊ฐ๋ ํ์ธ
09. java.langํจํค์ง์ ์ ์ฉํ ํด๋์ค ๊ฐ๋ ํ์ธ
10.๋ ์ง์ ์๊ฐ & ํ์ํ ๊ฐ๋ ํ์ธ
11. ์ปฌ๋ ์ ํ๋ ์์ํฌ ๊ฐ๋ ํ์ธ
๐น ๋ค์ ์ฃผ ๋ชฉํ ์ธ์ฐ๊ธฐ
1. Spring ํ์ด๊ณผ์ Lv2_๋ก๊ทธ์ธ๊ธฐ๋ฅ ๊ตฌํ ์๋ฃํ๊ธฐ
2. Spring ์๋ จ 1์ฃผ์ฐจ ๊ฐ์ ๋ฃ๊ณ Lv3๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํ ์ง ๋ผ๋ ์ก์๋ณด๊ธฐ
3. ์ธํ๋ฐ Spring ๊ธฐ๋ณธ๊ฐ์ ์๊ฐ์๋ฃํ๊ธฐ
4. <์๋ฐ์ ์ ์>
- ์๋ ์ฑํฐ๋ค ์๊ฐ ๋ฐ ๋ฌธ์ ํ๊ธฐ
08. ์์ธ์ฒ๋ฆฌ(Exception Handling) ๊ฐ๋ ํ์ธ
09. java.langํจํค์ง์ ์ ์ฉํ ํด๋์ค ๊ฐ๋ ํ์ธ
10.๋ ์ง์ ์๊ฐ & ํ์ํ ๊ฐ๋ ํ์ธ
11. ์ปฌ๋ ์ ํ๋ ์์ํฌ ๊ฐ๋ ํ์ธ5. [Git] branch, merge, ์ถฉ๋, ์ด์ ๊ธฐ๋ฅ์ ์ฌ์ฉ๋ฒ ์ตํ๊ธฐ
728x90'WIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ