본문 바로가기

웹 개발 한걸음

Spring MVC - AOP?

 

OOP?  - 객체 지향 프로그래밍(Object Oriented Programing)

 

AOP? - 관점 프로그래밍(Aspect Oriented Programing)

             1) 핵심분야(기능)

             2) 공통분야(기능)

 

ex) 게시판의 목록과 쓰기 기능

  핵심분야: 게시판 보기 / 쓰기

  공통분야: 로그인이 되었을 때만

-> 공통분야를 핵심분야에 넣어주는데 이걸 언제 넣어줄 것이냐?!  = > before/after/around (around를 가장 많이 사용)

-> 이것이 AOP이다. 

 

주요용어

  Aspect : 공통적으로 수행하는 기능을 가진 객체

  Advice : 공통적으로 수행하는 기능

  Jointpoint : Advice를 적용해야 되는 위치(before/after/around) (스프링의 컨트롤러나 서비스 객체의 메서드)

  Pointcut : Advice를 적용할 위치를 지정하고 선별하는 정규표현식

  Weaving : Advice를 핵심기능에 적용하는 행위 자체

 

** 그래서 결국 Aspect = Advice + PointCut

 

 필요한 라이브러리

MVNRepository.com에서

1) aspectj 검색 -> aspectj Weaver

2) cglib 검색 -> CGLIB 

 

 

 

 

추후 코드 입력