반응형
AOP (Aspect Oriented Programming) 이란?
어떠한 로직의 기준으로 핵심적인관점, 부가적인 관점으로 나누어서 보며 그 관점 기준으로 각각 모듈화하는것을 말한다. 한마디로 핵심적인 비즈니스 로직에서 분리하여 재사용하는것이며 이러한 사용덕분에 관점지향 프로그래밍이라고 불린다.
⭐ AOP (Aspect Oriented Programming) 개념
Aspect : AOP의 기본 모듈이다.
Target : 핵심 기능을 담고있으며 타겟은 부가기능을 부여하는 대상이 된다.
Advice : Target에 제공하는 부가기능을 담고있는 모듈이다.
JoinPoint : Advice가 적용되는 위치를 말한다.
PointCut : Advice를 적용하는 Target의 메서드를 선별한다.
⭐ AOP (Aspect Oriented Programming) 특징
Sprong Bean 에서만 AOP가 적용이 가능하다.
Spring AOP 메서드 조인 포인트로만 지원한다.
중복코드, 포록시 클래스 작성의 번거로움 등에 대한 해결책을 제시하는 것이 목적이다.
프록시 패턴 기반의 AOP 구현체, 프록시 객체를 사용하는 이유는 부가기능을 추가하기 위해서이다.
⭐ AOP (Aspect Oriented Programming) 구현방법
1. XML 기반의 POJO 클래스를 이용한 구현
2. @Aspect 어노테이션을 이용한 구현
⭐ AOP (Aspect Oriented Programming)의 Advice를 정의하는 태그
<aop:before> : 메소드 실행전 적용되는 Advice를 정의함
<aop:after-returning> : 메소드가 실행 후에 적용되는 Advice를 정의함
<aop:after> : 메소드가 실행이되는지 예외가 발생되는 여부와 상관없이 Advice를 정의함
<aop:around> : 모든 시점에 적용 가능한 Advice를 정의함
<aop:ater-thorwing> : 예외발생이 될때 적용되는 Advice를 정의함
AOP (Aspect Oriented Programming) 프로젝트 설정
※ pom.xml
root-context.xml
반응형
'Back-End > Java' 카테고리의 다른 글
[Spring] 스프링 Security 게시판 및 파일첨부 예제 (1) | 2021.06.24 |
---|---|
[Spring] 스프링 Security 로그인 예제 (0) | 2021.06.24 |
[JWT] JSON Web Token 개념과 구조를 알아보자 (0) | 2021.06.23 |
[Spring] 스프링 Security 사용이유와 설정 방법을 알아보자 (0) | 2021.06.23 |
[Spring] Legacy Project 첨부파일 구현하기 (1) | 2021.06.15 |