νλ μ μν¬(framework) : μ΄λ€ λμμ ꡬμ±νλ λΌλ
=> SW : κΈ°λ₯μ 미리 ν΄λμ€λ μΈν°νμ΄μ€ ννλ‘ λ§λ€μ΄μ μ 곡νλ νν
=> λͺ¨λ νμμ΄ λμΌν ꡬ쑰μμ κ²°κ³Όλ¬Όμ μμ± ν μ μμ => κ°λ° μκ°μ΄ λ¨μΆλ¨
* Spring 2.5 : μ λ Έν μ΄μ μ μ§μ (@Controller λ±)
Spring 3.0 : Java ν΄λμ€λ₯Ό μ€μ νμΌλ‘ μ§μ
Spring 4.0 : REST λ°©μ μ§μ
μ€νλ§ νΉμ§
1. EJB(enterprise java beans)λ³΄λ€ κ°λ³κ³ νμ΅νκΈ° μ¬μ΄ κ²½λ νλ μμν¬
2. POJO(Plain Old Java Object) κΈ°λ°μ κ΅¬μ± = μλ° ννλ‘ λ§λ€μ΄μ Έ μμ
3. μ μ΄μ μν(IoC, Inversion Of Control) κΈ°μ μ μ¬μ© => μ ν리μΌμ΄μ μ μ½ν κ²°ν©μ μ μ΄
: λ©μλ/κ°μ²΄μ νΈμΆ μμ μ κ°λ°μκ° κ²°μ νλ κ²μ΄ μλ μΈλΆμμ κ²°μ (μ£Όλ‘ νλ μμν¬μμ κ²°μ )
4. μμ‘΄μ± μ£Όμ (DI, Dependency Injection)κΈ°λ₯ μ§μ
: μ μ΄μ μνμ΄ λ°μν λ, μ€νλ§ λ΄λΆμ μλ κ°μ²΄(Bean)μ κ΄λ¦¬νλ κΈ°λ²
* μμ‘΄μ± : κ°μ²΄κ° νΌμμ μ²λ¦¬ν μ μμ. λ€λ₯Έ κ°μ²΄λ₯Ό ν΅ν΄ λμμ λ°μμΌμ§λ§ μ²λ¦¬κ° κ°λ₯ν¨
=> μμ‘΄κ΄κ³μ μλ κ°μ²΄λ₯Ό μ§μ μμ±, μ μ΄κ° μλλΌ μ μ΄μ μνμ ν΅ν΄μ νμν κ°μ²΄λ₯Ό μΈλΆμκ±° κ²°μ ν΄μ μ°κ²°
1. μμ±μλ₯Ό μ¬μ©ν μ£Όμ / 2. set()μ μ¬μ©ν μ£Όμ
5. κ΄μ μ§ν₯ νλ‘κ·Έλλ° μ§μ(AOP, Aspect-Oriented Programing)μ§μ => μμκ΄λ¦¬ κ°λ₯
: κ°λ°μκ° λΉμ¦λμ€λ‘μ§μλ§ μ§μ€ν΄μ κ°λ°νλλ‘ νλ λ°©λ²
: 'ν‘λ¨ κ΄μ¬μ¬'λ₯Ό λΆλ¦¬νμ¬ μ μνμ¬ κ°λ°νλ λ°©λ²
6. νΈλ¦¬ν MVC ν¨ν΄ ꡬ쑰
7. μμμ± κ΄λ ¨ λ€μν μλΉμ€ μ 곡
* AOP : κ°λ°μκ° λΉμ¦λμ€λ‘μ§μλ§ μ§μ€ν΄μ κ°λ°νλλ‘ νλ λ°©λ²
: 'ν‘λ¨ κ΄μ¬μ¬'λ₯Ό λΆλ¦¬νμ¬ μ μνμ¬ κ°λ°νλ λ°©λ²
- aspect : ꡬννκ³ μ νλ 보쑰기λ₯(보μ, λ‘κ·Έ, νΈλ μ μ )
- advice : aspectμ μ€μ ꡬν ν΄λμ€(λ©μλ νΈμΆ κΈ°μ€μΌλ‘ μ¬λ¬ κ³³ νΈμΆ κ°λ₯)
- joinpoint : adviceλ₯Ό μ μ©νλ μ§κ²
- pointcut : adviceκ° μ μ©λλ λμ μ§μ (ν¨ν€μ§λͺ /ν΄λμ€λͺ /λ©μλλͺ )
- target : adviceκ° μ μ©λλ ν΄λμ€
- weaving : adviceλ₯Ό μ£ΌκΈ°μ μΌλ‘ μ μ©νλ κ²
* AOPκΈ°λ₯ ꡬν
1. targetν΄λμ€λ₯Ό μ§μ νλ€.
2. advice ν΄λμ€λ₯Ό μ§μ νλ€.
3. μ€μ νμΌμμ pointcut μ μ§μ
4. μ€μ νμΌμμ advice + pointcut κ²°ν©
5. μ€νλ§ ProxyFactoryBean ν΄λμ€λ₯Ό μ¬μ©ν΄μ targetμ adviceλ₯Ό μ μ©
6. getBean()μ¬μ©ν΄μ μ μ©
* μ£ΌκΈ°λ₯ : κ³μ°
* 보쑰기λ₯ : λ‘κ·ΈμΆλ ₯
* μ€νλ§ μ£Όμ κΈ°λ₯
1. Spring Core : λ€λ₯Έ κΈ°λ₯κ³Ό μ€μ κΈ°λ₯μ λΆλ¦¬νκΈ° μν IoCκΈ°λ₯(μ μ΄μ μν)μ μ 곡
2. Spring Context : μ€νλ§μ κΈ°λ³ΈκΈ°λ₯, μ ν리μΌμ΄μ μ κ° κΈ°λ₯μ λΉμ μ κ·Όνλ λ°©λ²
3. Spring DAO : JDBCκΈ°λ₯μ νΈλ¦¬νκ² μ¬μ© κ°λ₯
4. Spring ORM : νμ΄λ²λ€μ΄νΈ/λ§μ΄λ°ν°μ€μ κ°μ μμμ± νλ μ μν¬λ₯Ό μ 곡(DBκ΄λ ¨ νλ μ μν¬κ° λ°λ‘ μ‘΄μ¬ν¨)
5. Spring AOP : κ΄μ μ§ν₯ κΈ°λ₯ μ 곡
6. Spring WEB : μΉ μ ν리μΌμ΄μ κ°λ°μ νμν κΈ°λ₯ μ 곡
7. Spring WebWVC : MVCꡬν κΈ°λ₯ μ 곡
* κ°ν κ²°ν© : μ§μ μ μΈ μ°κ΄κ΄κ³κ° μμ΄μ μ½λ λ³κ²½μ΄ μ΄λ €μ
* μ½ν κ²°ν© : μ§μ μ μΈμ°κ΄κ΄κ³κ° μμ΄μ μ½λ λ³κ²½μ΄ μ¬μ
'STUDY > SPRING' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
SPRING - bean grapeκ° μλ° λ (0) | 2022.06.14 |
---|---|
Spring - mysql μ°κ²° ν μ€νΈ (0) | 2022.06.14 |
Spring Legacyμ boot μ°¨μ΄μ (0) | 2022.06.13 |
spring - Controllerν μ€νΈ (0) | 2022.06.13 |
spring -(view, Service, Controller) μ΄λ‘ (0) | 2022.06.13 |