스프링
Spring AOP self-invocation이 발생하는 이유와 @Transaction 사용시 주의사항
Spring AOP self-invocation이 발생하는 이유와 @Transaction 사용시 주의사항
2021.08.11최근 Spring AOP를 학습하는 도중 self-invocaion이라는 문제를 발견했습니다. 이 문제를 해결하면서 정리한 내용을 공유해보고자 합니다. public interface Pojo { void foo(); void bar(); } @Slf4j public class SimplePojo implements Pojo { @Override public void foo() { log.info("### foo"); bar(); // this.bar() } @Override public void bar() { log.info("### bar"); } } SimplePojo 클래스는 Pojo인터페이스를 구현한 클래스입니다. foo()는 bar()를 호출하고있는 모습입니다. 테스트 케이스 Pojo refer..