Programming/Spring

Spring AOP - @Aspect 구현

byeong07 2018. 6. 16. 21:13

이번에 @Aspect를 이용한 AOP를 설정

 

aopEx2/src/main/java/com/aopEx2/LogAop.java

 

 

@Pointcut을 사용하지 않아도 됩니다.

 

@Before 어노테이션을 보면 속성에 바로 범위를 지정했습니다.

 

같은 방법으로 @Around에 속성을 지정해도 되고, Pointcut을 지정해주는 메서드를 생성해도 됩니다.

 

이전에 xml 파일에서 설정했던 것과 다르게 JAVA 파일에서 어노테이션을 이용해서 설정을 했지만,

 

xml 파일에서 추가해야 될 것이 있습니다.

 

aopEx2/src/main/resources/applicationCtx.xml

 

 

<aop:aspectj-autoproxy/>를 명시하면 @Aspect 어노테이션이 있는 클래스를 찾아서 자동으로 aspect로 만든다.

 

그 아래에는 bean 객체를 생성했고, 이전에 사용한 XML 방식의 AOP 설정은 주석 처리를 했습니다.

 

MainClass를 실행하면 loggerAop() 메서드와 @Before 어노테이션이 달려있는 beforeMethod가 실행되는데

 

beforeMethod() 메서드는 핵심 기능 이전에 1번 실행이 됩니다.

 

 

@Pointcut 어노테이션을 사용하지 않고, 범위를 바로 명시해도 가능합니다.