CoDream

스프링 AOP(Aspect-Oriented Programming) 본문

Spring/Spring 이론

스프링 AOP(Aspect-Oriented Programming)

코잠 2024. 6. 19. 12:26
728x90
반응형

 

 

 

스프링 AOP(Aspect-Oriented Programming)는 관심사 분리(Separation of Concerns) 원칙을 구현하여 프로그램의 핵심 기능과 부가적인 관심사를 분리하는 프로그래밍 기법입니다. 이를 통해 코드의 중복을 줄이고, 모듈의 재사용성을 높이며, 유지보수를 용이하게 할 수 있습니다.

주요 개념

  1. Aspect (애스펙트): 부가적인 관심사를 모듈화한 것입니다. 예를 들어, 로깅, 보안, 트랜잭션 관리 등이 있습니다.
  2. Join Point (조인 포인트): 애스펙트가 적용될 수 있는 지점을 의미합니다. 메소드 호출이나 예외 발생 등이 조인 포인트가 될 수 있습니다.
  3. Advice (어드바이스): 애스펙트의 구체적인 작업을 정의한 것입니다. 언제(조인 포인트 전후 등) 무엇을 할지를 정의합니다.
    • Before: 메소드 실행 전에 실행
    • After: 메소드 실행 후에 실행
    • After Returning: 메소드가 정상적으로 반환된 후에 실행
    • After Throwing: 메소드가 예외를 던진 후에 실행
    • Around: 메소드 호출 전후에 실행
  4. Pointcut (포인트컷): 어드바이스를 적용할 조인 포인트를 선별하는 표현식입니다.
  5. Weaving (위빙): 애스펙트를 실제 대상 객체에 적용하는 과정입니다. 컴파일 타임, 로드 타임, 런타임에 위빙할 수 있습니다.
728x90
반응형

'Spring > Spring 이론' 카테고리의 다른 글

Spring AOP 주요 용어  (0) 2024.06.27
@Scheduled  (0) 2024.06.27
디스패처 서블릿  (0) 2024.06.18
스프링 MVC의 동작 원리  (0) 2024.06.18
스프링 - 컨트롤러 정의, CORS허용  (2) 2024.05.11