๋ค์ด๊ฐ๊ธฐ์ ์์
ํ์์์ Spring Framework / MyBatis / Maven ์ ๋ฐฐ์ด์ง ์ฝ ์ผ์ฃผ์ผ ์ ๋ ์ง๋ฌ๋ค.
์ ๋ฒ ์ฃผ์๋ ์๊ตฌ์ฌํญ ๋ถ์ / UML ๋ฑ์ ๋ํด ์ํ์ ์น๋ค๊ณ , ๋์์ค๋ ์ฃผ์๋ ์ด๋ฒ์ฃผ์ ๋ฐฐ์ ๋ ๋ด์ฉ๋ค๋ก ์ํ์ ๋ณผ ์์ ์ด๋ค.
์์ ์๊ฐ์ ๋ฐฐ์ ๋ ๋ด์ฉ, ์ฑ ์์ ๋์๋ ๋ด์ฉ, ์ฌ๋ฌ ๋ธ๋ก๊ทธ์์ ๋งํ๋ ๋ด์ฉ๋ค์ Notion ์ ๊ฐ์ธ์ ์ผ๋ก ์ ๋ฆฌํด๋์์ง๋ง,
๋ณต์ต ๊ฒธ ๋ธ๋ก๊ทธ์๋ ์์ฑํ๋ฉด ์ข์ ๊ฒ ๊ฐ์ ๋ช ์ ์ ์ด๋ณด๋ ค๊ณ ํ๋ค.
(๋ง์ด ๋ถ์กฑํ ๋ด์ฉ์ด๋ฉฐ ์ง๊ทนํ ๊ฐ์ธ์ ์ธ ๊ฒฌํด๋ฅผ ๋ด์ ๋ด์ฉ์ด๋ ์ฝ์ผ์๋ ๋ถ์ ํํฐ๋ง์ด ํ์ํ ๊ฒ ๊ฐ๋ค. ์๋๋ฉด ๋๋ฌด ๊ธฐ์ด์ ๋ํ ๋ด์ฉ์ด๊ธฐ๋ ํ๋ฉด์ ๊ณต๋ถํ ๋ด์ฉ์ ๋ด๊ฐ ์ดํดํ ๋ฐฉ์์ผ๋ก ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ ํํ์ง ์์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.)
(๊ทธ๋์ ์ ๋ฐฐ๋๋ค์ ํํด์ ์ ๋ง์ ๋ง ํ์ํฉ๋๋ค..!๐ญ)
Spring Framework ?
1) Framework ?
> ์ํํธ์จ์ด ํ๋ ์์ํฌ๋ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ฑฐ๋ ์์ ํ๋๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ ๊ฐ๋ ๊ตฌ์กฐ์ด๋ค. ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์์ด ํ๋์ ๋ผ๋ ์ญํ ์ ํ๋ค.
2) Spring Framework ?
> ์๋ฐ ํ๋ซํผ์ ์ํ ์คํ์์ค ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ์ด๋ค. ๊ฒฝ๋ ์ปจํ ์ด๋๋ก์จ ์๋ฐ ๊ฐ์ฒด๋ฅผ ์ง์ ๊ด๋ฆฌ(IoC) ํ๋ค. ์ถ์ํ๋ ํธ๋์ญ์ ์ ๊ด๋ฆฌํ ์ ์๋๋ก ์ง์ํ๋ฉฐ, ์ค์ ํ์ผ(xml, java, property) ์ ์ด์ฉํ ์ ์ธ์ ์ธ ๋ฐฉ์์ผ๋ก ์ด์ํ๋ค.
- Aop (Ascept Oriented Programming) | ๊ด๊ณ ์งํฅ ํ๋ก๊ทธ๋๋ฐ
- Ioc (Inversion of Control) | ์ ์ด์ ์ญ์
- DI (Dependency Injection) | ์์กด์ฑ ์ฃผ์
- MVC (Java Design Pattern > Model + View + Controller)
Aop | Ascept Oriented Programming
- ๊ด๊ณ ์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ๊ฐ์ฒด ์งํฅ ๊ด์ ์ ์์ ๊ฐ๋
- ํธ๋์ญ์ / ๋ก๊น ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ๋ค๋ก ์ด๋ฃจ์ด์ง ๋ชจ๋๋ค์์ ๊ณตํต์ ์ผ๋ก ๋ค์ด๊ฐ๋ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌ
- ์์ ๋ถ๋ฆฌ๋ฅผ ์ํด ๊ฐ ๊ฐ์ฒด์ ๊ด์ ์์ ๋ฐ๋ผ๋ณด๋ฉฐ, ์ข ๋จ๋ฉด์ผ๋ก ์ฌ๊ณ ํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์
Ioc | Inversion of Cotrol
- ์ ์ด์ ์ญ์
- ์ปจํธ๋กค์ ์ ์ด๊ถ์ด ์ฌ์ฉ์๊ฐ ์๋ Spring Framework ์๊ฒ ๋์ด๊ฐ ๊ฒ์ ์๋ฏธ
- ๊ฐ์ฒด๋ฅผ ์๋ก ์์ฑํ๊ฑฐ๋ ํน์ ๊ฐ์ฒด๋ฅผ ์ ํํ์ง ์๋๋ค.
- ์ฌ์ฉ์๊ฐ ์ ์ดํด์ผ ํ ์ฌํญ๋ค์ ๋ฌธ์(๋ช ์ธ)ํ ํ์ฌ Spring Framework ์ ๋ฑ๋ก > Spring ์ด ์๋์ผ๋ก ํด๋น ์ ์ด ์ฌํญ๋ค์ ๊ด๋ฆฌํ๋ค.
- ์ธ์คํด์ค ์์ฑ / ์ญ์ ๋ฑ์ Controller ๊ฐ ์ํํ๋ค.
- Object ๋ ์์ ์ด ์ด๋ป๊ฒ ์์ฑ๋๊ณ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ์ ์ ์๋ค. > ์ถ์์ ์ธ ๊ฒ์ ์์กด
- ๊ณ์ธต ๊ฐ์ ์์กด ๊ด๊ณ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ธฐ ์ํด ์ ์ฉ
DI | Dependency Injection
- ๊ฐ ๊ณ์ธต ํน์ ์๋น์ค ๊ฐ ์์กด์ฑ์ ์ฃผ์ ํ๋ ๊ฒ์ ๋ปํ๋ค.
- Maven ์ pom.xml ํ์ผ ๋ด์ ์์กด์ฑ์ ์ถ๊ฐํ๊ณ context-servlet.xml (sts) / dispatcher-servlet.xml (IntelliJ) ํ์ผ ๋ด์ ์ถ๊ฐํ ์์กด์ฑ์ ์ฌ์ฉํ๊ธฐ ์ํด Spring ์ bean ์ผ๋ก ๋ฑ๋ก์ ํ๋ ๊ณผ์ .
- Annotation ์ ์ด์ฉํ์ฌ ์์กด์ฑ ์ฃผ์ (@Autowired / @Controller / @Service / @Repository)
ex) Service ์ ์ฒ๋ฆฌ๋ฅผ ์ํด์ DAO ์ ์์กด -> has a ๊ด๊ณ
์ฐธ๊ณ
๊ฐ๋ํฌ ๋์ Spring ์ ์ ๋ฐ ํน์ง
https://goddaehee.tistory.com/156
'Programming > Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[QueryDSL] NoSuchMethodError Trouble Shooting (0) | 2023.02.22 |
---|---|
Criteria API (0) | 2023.01.28 |
Spring Bean / IoC Container / DI (1) | 2023.01.21 |
JPA / Persistence Context / Transactional (2) | 2023.01.14 |
IntelliJ | Spring MVC + Maven ํ๋ก์ ํธ ๋ง๋ค๊ธฐ (Oracle) (0) | 2020.07.26 |