Spring | AspectJ 이용 | AspectJ와 pom.xml 수정


AOP에 대해 조사해 보면, 아마 “AspectJ"라는 소프트웨어에 대해 많이 찾게 될것이다. AspectJ는 Java AOP 소프트웨어의 사실상의 표준이라고 해도 될 정도로 널리 사용되고 있는 소프트웨어이다.

Spring AOP에도 이 AspectJ를 이용하여 AOP 구현을 위한 기능이 포함되어 있다. 마지막으로 사용한 Spring AOP와는 또 다른 형태로 AOP를 구현할 수 있기에, 이쪽의 사용법에 대해서도 배워보도록 하자.

그럼 먼저 AspectJ를 이용하기 위한 준비를 하자. pom.xml을 열고 <dependencies> 태그 안에 아래와 같이 내용을 추가하자 (이미 기술되어 있는 spring-core와 spring-aop 태그는 삭제하지 않아야 한다!).

<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>1.8.6</version>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.8.6</version>
</dependency>

예제로, 여기에서는 Spring Framework 4.1.7에 맞는 버전을 지정하고 있으므로 다른 버전을 사용하는 경우는 거기에 아울러 <version>을 조정하도록 하자.

여기에는 2 개의 라이브러리를 추가한다. “AspectJ RT"는 AspectJ 런타임 프로그램이다. 이 라이브러리는 추가하면 AspectJ의 기능을 사용할 수 있게 된다. 또한 “AspectJ Weaver"는 aspect의 정보를 바탕으로 aspect를 구성한 코드를 생성하는데 필요한 유틸리티 프로그램이다. Spring AOP에서 AspectJ를 사용을 하려면, 이 두 가지를 세트로 준비해야 한다.