다시 웹, 백엔드로/스프링
AOP
EnoughTT
2024. 6. 2. 13:40
AOP (Aspect Oriented Programming)
- 관점지향 프로그래밍
- MVC 웹 어플리케이션에서는 Web Layer, Business Layer, Data Layer 로 정의
- Web Layer: REST API 제공, Client 중심의 로직 적용
- Business Layer: 내부 정책에 따른 logic 개발, 주로 해당 부분을 개발
- Data Layer: 데이터베이스 및 외부와의 연동 처리
주요 Annotation
횡단 관심
- AOP 는 메소드들 또는 특정 구역에 반복되는 로직들을 한 곳으로 몰아서 코딩을 할 수 있게 해줌
- 공통적인 기능들 로그
- 통신
- 메서드 실행 시간 확인
- 인코딩, 암호화 기능
예제
- 메서드 실행 시 argument와 return 값에 대한 추적 log
- 메서드 실행 시 실행시간 추적
ParameterAop.java @before, @AfterReturning 어노테이션 주석처리
- 전, 후로 데이터 변경 (많이 쓰이진 않지만 인코딩, 암호화할 경우)
feat. 패스트캠퍼스 - Java/Spring 웹 개발 마스터 초격차