IoC μ μλ λ κ°μ§ μ μ΄λ 컨ν μ΄λκ° λ΄λΉ
ServieImpl μμ @Service
DAOμμ @Respository
μ μ§λ³΄μν λ λ³κ²½ μν΄λ λ¨
컨νΈλ‘€λ¬μμ @Controller
π μ μ§λ³΄μν λ λ°λλ κ°μ²΄λ @
μ΄λ
Έν
μ΄μ
μ¬μ©
π μλ°λλ κ°μ²΄λ <bean>
λ±λ‘
π IoCλ κ°μ²΄μμ±κ³Ό κ°μ²΄λ€κ³Όμ κ΄κ³/μ°Έμ‘°λ₯Ό 컨ν μ΄λκ° μμμ μ€μ ν΄μ£Όλ κ²
π ν΄κ²° λ°©μ : κ΄μ¬ λΆλ¦¬
ν‘λ¨ κ΄μ¬μ ν΄λΉνλ 곡ν΅μ κΈ°λ₯ μ½λλ₯Ό
μΈλΆμ λ
립λ ν΄λμ€μ λ©μλ ννλ‘ κ΅¬νν κ²
λΉμ¦λμ€λ©μλ μ€μ
λ΄κ° μνλ λ©μλλ§ μ ννκ² νν°λ§ν κ²
Pointcut
μ ν΄λΉνλ λΉμ¦λμ€ λ©μλκ° νΈμΆλ λ,
Advice
μ ν΄λΉνλ λ©μλκ° λμνκΈ° μν΄
Advice
μ Pointcut
λ₯Ό μ°κ²°ν΄μ£Όλ κ²
π AOPλ λΉμ¦λμ€ μ»΄ν¬λνΈλ μνλ νΉμ λΉμ¦λμ€ λ©μλμ λν΄ κ³΅ν΅λ‘μ§μ μννλ κ²
ServiceImpl
κ°μ²΄μ DAO
κ°μ²΄λ₯Ό μΌλ§λ μ§ λ³κ²½/κ΅μ²΄ ν μ μλ€*.do
μμ²μ DispatcherServlet
μ΄ λ°μμ¨λ€.DispatcherServlet
λ Front Controller
λΌκ³ λ νλ€.presentation-layer.xml
, Controller
, DispatcherServlet
)κ° λ§μ§λ§,DispatcherServlet
λ λΈλΌμ°μ μ μμ²μ κ°μ₯ λ¨Όμ λ°μλ€μ΄λ μ΅μ΄μ μ§μ
μ /창ꡬ μ΄λ€.DispatcherServlet
λ presentation-layer.xml
νμΌμ λ‘λ©νμ¬, SpringContainer
λ₯Ό μμ±νλ€.Spring Conatiner
κ° μμ±λλ©΄ Controller
κ°μ²΄κ° λ©λͺ¨λ¦¬μ λ¬λ€*.do
μμ²μ Controller
μ λ©μλκ° μ²λ¦¬ν μ μλ€Controller
λ©μλλ Service Interface
λ₯Ό μ°Έμ‘°νμ¬ λΉμ¦λμ€ λ‘μ§μ μννλ€Controller
κ° μ§μ DAO λ©μλλ₯Ό μ§μ μ€ννλ©΄ μλλ€!ServiceImpl
μ΄ μ€νλμ§ μκΈ° λλ¬Έμ Advice
λ€μ΄ λμνμ§ μλλ€Controller
λ©μλ μ€ DAO λ©€λ²λ³μλ₯Ό μ λΆ μμ ν΄μ€μΌ νλ€Controller
λ Service Interface
λ₯Ό ν΅ν΄μ λΉμ¦λμ€ λ©μλλ₯Ό μ¬μ©νλλ‘ νμServiceImpl
μ DAO ν΄λμ€λ§ κ°μλΌμ°λ©΄ λλ€ServiceImpl
μ Conroller
λ³΄λ€ λ¨Όμ λ©λͺ¨λ¦¬μ λμμ€μΌ @Autowired
μ€λ₯κ° μκΈ°μ§ μλλ€.