<aop:aspectj-autoproxy />
혹은 @EnableAspectJAutoProxy
를 사용하는 상황에서 DefaultAdvisorAutoProxyCreator를 사용하자, 어드바이스가 두 번씩 호출되는 현상이 발생했다.(AOP, advice, twice, called)<aop:aspectj-autoproxy />
혹은 @EnableAspectJAutoProxy
는 그 자체로 AnnotationAwareAspectJAutoProxyCreator를 사용하는데, 이 클래스는 스스로 Spring의 Advisor들도 등록해주므로 DefaultAdvisorAutoProxyCreator
를 사용할 필요가 없다.@EnableAspectJAutoProxy
등을 통한 AOP 활성화는 부모에서 수행하고,AdviceMode.PROXY
일 때만 가능.cglib
의 제약사항들이 있기 때문에 그를 따라야한다.