-
Notifications
You must be signed in to change notification settings - Fork 0
Description
πTIL - 2025-03-14- Friday
π μ€λμ νμ΅
- π μ£Όμ νμ΅ λ΄μ© 1 - Spring MVC
Spring MVC - π μ£Όμ νμ΅ λ΄μ© 2 - Spring Boot μλ manual spring μ€μ΅, Spring IoC/DI, AOP
manual-spring μ€μ΅ μ½λ νμ΄
Spring IoC/DI, AOP κ°λ
π¨ λ¬Έμ μν©
Spring MVC μ 체 νλ¦μ λ°°μ°κ³ Controller/Service ꡬ쑰λ μ΅μν΄μ‘μ§λ§, λ€λ°λΌ λμ€λ κ°λ
μΈ IoC, DI, AOP, DispatcherServletμ λ΄λΆ λμ,
κ·Έλ¦¬κ³ μ΄λ€μ΄ μ΄λ€ ꡬ쑰 μμμ μ°κ²°λκ³ μ νμνμ§ κ°μ΄ μ μ μ‘νλ€.
λν Spring Boot μμ΄ μλμΌλ‘ ꡬμ±λ μ½λ κ΅¬μ‘°κ° Spring Bootμ 무μμ΄ λ€λ₯Έμ§ κ°λ μ μΌλ‘ μ 리νλ κ²λ μ΄λ €μ λ€.
π― μλν κ³Όμ
AppConfig,WebApplicationInitializer,DispatcherServletμ΄ μ΄λ€ μν μ νλμ§ μ½λμ νλ¦μ λμννλ©° μ 리νλ€.- IoC/DIμ μλ―Έλ₯Ό νμ€ λΉμ (λꡬ μ§μ ꡬ맀 vs λ°°λ¬ λ°κΈ°)λ‘ λ°κΏ μ΄ν΄ν΄λ³΄μλ€.
- AOP κ°λ λ μ½λ μμ΄ μ€μν μμ(λͺ¨λ ν¨μ μμ μλ λ‘κ·Έ μ°κΈ°)λ‘ μ κ·Όν΄ λ³΄μλ€.
π οΈ ν΄κ²° λ°©λ²
- IoCλ "κ°μ²΄λ₯Ό λκ° λ§λλκ°?"μ λ¬Έμ λΌλ κ±Έ νμ β κ°λ°μκ° λ§λλ κ² μλλΌ Springμ΄ λ§λλ κ².
- DIλ "νμν κ°μ²΄λ₯Ό μ€μ€λ‘ λ§λ€μ§ μκ³ μΈλΆμμ μ£Όμ λ°λ λ°©μ" β μμ±μ μ£Όμ μ μ¬μ©ν μ½λλ‘ μμ ν μ΄ν΄.
- DispatcherServletμ λͺ¨λ μμ²μ μ§μ μ μ΄μ Spring MVCμ ν΅μ¬. β λͺ¨λ μμ²μ Controllerμκ² μ°κ²°ν΄μ£Όλ λ¬Έμ§κΈ° μν μμ λͺ νν μ΄ν΄ν¨.
- AOPλ "λͺ¨λ κΈ°λ₯λ§λ€ λ°λ³΅λλ μ½λλ₯Ό λ°λ‘ λΆλ¦¬νλ κΈ°μ " β λ‘κΉ , 보μ, νΈλμμ μ²λ¦¬ κ°μ κΈ°λ₯μ Controller μ½λ λ°μμ μ²λ¦¬ν μ μκ² ν΄μ€.
- κ°κ°μ κ°λ μ Spring Bootλ‘ λ°λλ©΄ μλνλλ€λ μ κ³Ό ν¨κ» λΉκ΅ μ 리νλ©΄μ κ°λ μ΄ λ λͺ νν΄μ§.
π‘ μκ² λ μ
| κ°λ | μλ‘κ² λͺ νν΄μ§ μ |
|---|---|
| IoC | κ°μ²΄λ₯Ό μ§μ λ§λλ κ² μλλΌ Springμ΄ κ΄λ¦¬ν¨ β μ½λ μ μ΄κ° νλ μμν¬ μ€μ¬ |
| DI | μμ±μμ νμν κ°μ²΄λ₯Ό λ£μ΄μ£Όλ κ² β μ½λ μ μ°μ±, ν μ€νΈ μ©μ΄μ± λμμ§ |
| DispatcherServlet | Spring MVCμ μ§μ μ , μμ²μ νλ¦μ μ μ΄ν¨ |
| AOP | μ½λ λ°λ³΅μ μ€μ¬μ£Όλ κΈ°μ β ν΅μ¬ λ‘μ§ μΈμ μ½λ(λ‘κΉ λ±)λ₯Ό λΆλ¦¬ν΄ κ΄λ¦¬ κ°λ₯ |
| Spring Bootμ λΉκ΅ | μ§κΈ λ΄κ° ꡬμ±ν 건 Spring MVC μλ ꡬμ±μ΄κ³ , Spring Bootλ μ΄κ±Έ μλνν΄μ£Όλ λꡬλΌλ μ |
π³ λλ μ
λ¨μν μ½λλ₯Ό λ°λΌ μ°λ κ²μ΄ μλλΌ "μ μ΄ κΈ°μ μ΄ νμνκ°?" λ₯Ό λ¨Όμ μ΄ν΄ν΄μΌ μ 체 κ΅¬μ‘°κ° λ¨Έλ¦Ώμμ μ‘νλ€λ κ±Έ λκΌλ€.
νΉν IoC/DI/AOPμ²λΌ λ§λ§ μ΄λ €μ΄ κ°λ
λ, νμ€ λΉμ β μ½λ β ꡬ쑰 νλ¦ β Spring Boot λΉκ΅ λ°©μμΌλ‘ μ κ·Όνλ©΄ ν¨μ¬ μ½κ² μ΄ν΄ν μ μμλ€.