이번에 @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 어노테이션을 사용하지 않고, 범위를 바로 명시해도 가능합니다.
'Programming > Spring' 카테고리의 다른 글
[Spring boot] SpringMVC(1) Controller 생성하기 (2) | 2021.05.23 |
---|---|
Spring AOP를 이용하여 Service클래스에 로그 출력하기 (0) | 2020.08.04 |
Spring AOP - XML 기반으로 구현 (0) | 2018.06.13 |
Spring DI Java를 이용한 설정 (0) | 2018.06.13 |
Spring DI 생성자를 이용해서 의존성을 주입 (0) | 2018.06.13 |