AOP (Aspect Oriented Programming)

관점지향 프로그램

- 스프링 어플리케이션은 대부분 특별한 경우를 제외하고는 MVC 웹 어플리케이션에서는 Web Layer, Business Layer, Data Layer로 정의

 

- Web Layer: REST API를 제공하며, Client 중심의 로직 적용

- Business Layer: 내부 정책에 따른 logic을 개발하며, 주로 해당 부분을 개발 

- Data Layer: 데이터 베이스 및 외부와의 연동을 처리

 

횡단 관심 

- Method Parameter Log - 메소드 실행 시 어떤값이 들어가고 리턴되는지 확인 

- 실행시간 Log - 특정 메소드의 실행시간

- Parameter Encode : 메소드가 들어갈 때나 반환될 때 값을 변환시켜줌

 

주요 Annotation

@Aspect : 자바에서 널리 사용하는 AOP프레임워크에 포함되며, AOP를 정의하는 Class에 할당

@Pointcut : 기능을 어디에 적용시킬지, 메소드? Annotation?등 AOP를 적용시킬 지점을 설정

@Before : 메소드를 실행하기 이전

@After : 메소드가 성공적으로 실행 후, 예외가 발생되더라도 실행

@AfterReturning : 메소드 호출 성공 실행 시 (Not Throws)

@AfterThrowing : 메소드 호출 실패 예외 발생 (Throws)

@Around : Before/after 모두 제어

 

'Web > Spring' 카테고리의 다른 글

Spring Boot JSP & Thymeleaf  (0) 2022.06.08
Spring - IoC/DI 란?  (0) 2022.01.07
Spring Boot 시작하기 1장 (Get API-@GetMapping)  (0) 2022.01.07

+ Recent posts