728x90
반응형
AOP란 상속을 통한 방법에 한계를 극복하기 위해서 등장한 방법입니다.
핵심 기능과 공통 기능을 분리 시켜놓고, 공통 기능을 필요로 하는 핵심 기능들에서 사용하는 방식 입니다.
Aspect : 공통기능
Advice : Aspect의 기능 자체
Joinpoint : Advice를 적용해야 되는 부분 (ex. 필드, 메서드) 스프링에서는 메서드만 해당한다.
Pointcut : Joinpoint의 부분으로 실제로 Advice가 적용되는 부분
Weaving : Advice를 핵심 기능에 적용하는 행위
스프링에서 AOP를 구현할때는 proxy를 이용합니다.
예를들어 Joinpoint 시작과 끝에서 Advice를 실행할때 Advice는 중간에 끼어드는 것이 아니라 proxy를 통해서 실행됩니다.
- XML 기반의 AOP 구현
작업순서
1) 의존 설정 (pom.xml)
<!--AOP-->
<dependency>
<groubId>org.aspectj</groubId>
<artifacId>aspectjweaver</artifacId>
<version>17.4</version>
</dependency>
2) 공통 기능의 클래스 제작 (Advice 역할 클래스)
3) XML파일 설정
<bean id="logAop" class="com.javalec.ex.LogAop"/>
<aop:config>
<aop:aspect id="logger" ref="logAop">
<aop:pointcut id="publicM" experssion="within(com.javalec.ex.*)" />
<aop:around pointcut-ref="publicM" method="loggerAop" />
</aop:aspect>
</aop:config>
728x90
반응형
'Programming > Spring' 카테고리의 다른 글
[Spring] xml 매퍼 (0) | 2021.04.14 |
---|---|
[Spring] MyBatis 설정하기 (0) | 2021.04.13 |
[Spring] Java를 이용한 DI 설정 방법 (0) | 2021.04.01 |
[Spring] xml 파일을 이용한 DI 설정 방법 (0) | 2021.04.01 |
[Spring] DI 와 IOC컨테이너 (0) | 2021.04.01 |
댓글