본문 바로가기
Programming/Spring

[Spring] AOP-1

by hongchii 2021. 4. 2.
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

댓글