본문 바로가기

AOP2

AOP 활용 (feat. jpa 호출 로깅) AOP 에 대한 기본적인 개념을 이전 포스팅에서 알아보았다.https://pius712.tistory.com/33 스프링 AOP - 톺아보기aop 는 횡단 관심사를 분리하여 모듈화 한 것을 말한다.횡단 관심사란 비즈니스 로직이 아닌 그 외의 로깅, 트랜잭션과 같은 것들을 말한다.스프링을 사용하면 자주 만나게되는 @Transactional 이나 @pius712.tistory.com 이 AOP 를 활용하여, JPA repository 메서드 호출에 대한 로깅을 간단하게 구현하고자 한다.요구사항jpa repository 모든 메서드에 대해 로그를 남겨야함어떤 메서드가 호출했는지, 어떤 메서드가 호출되었는지 로그를 남겨야함jpa repository 의 time elapsed 로그를 남겨야함예외 발생시 messa.. 2024. 6. 6.
스프링 AOP - 톺아보기 aop 는 횡단 관심사를 분리하여 모듈화 한 것을 말한다.횡단 관심사란 비즈니스 로직이 아닌 그 외의 로깅, 트랜잭션과 같은 것들을 말한다.스프링을 사용하면 자주 만나게되는 @Transactional 이나 @Cacheable 과 같은 어노테이션들이 이런 스프링 AOP 를 통해 구현된 것이라고 볼 수 있다.이 스프링 AOP의 기반이 되는 proxy 와 bean post processor 에 대해 알아보고, 스프링 AOP 에 대해 알아보고자 한다.Spring-Aop 의 기반Proxy프록시는 디자인 패턴의 일종이다.아래와 같이 client 가 target 객체를 호출할 때, target 을 객체로 감싸서 중간에서 다른 작업을 하게 된다.간단하게 코드를 살펴보면 아래와 같다.// 인터페이스 기반class Foo.. 2024. 6. 6.