반응형

spring advise 2

[토비의 스프링 3.1 Vol 1] 6장. AOP (6.5 스프링 AOP)

6.5 스프링 AOP 6.5.1 자동 프록시 생성 분리해낸 트랜잭션 코드는 투명한 부가기능 형태로 제공돼야 한다. 투명하다는 건 부가기능을 적용한 후에도 기존 설계와 코드에 영향을 주지 않아야 한다는 것이다. 투명한 부가기능을 적용하는 과정에서 발견했던 거의 대부분의 문제는 해결했다. 타깃 코드는 여전히 깔끔한 채로 남아 있고 부가기능은 한 번만 만들어 모든 타깃과 메소드에 재사용 가능하고 타깃의 적용 메소드를 선정하는 방식도 독립적으로 작성할 수 있도록 분리되어 있다. 프록시 팩토리 빈 방식의 접근 방법의 두 가지 문제중 부가기능이 타깃 오브젝트마다 새로 만들어지는 문제는 ProxyFactoryBean의 어드바이스 통해 해결했다. 남은 것은 부가기능의 적용이 필요한 타깃 오브젝트마다 거의 비슷한 내용의..

[토비의 스프링 3.1 Vol 1] 6장. AOP (6.4장 스프링의 프록시 팩토리 빈) + spring boot @Transactional

6.4 스프링의 프록시 팩토리 빈6.4.1 ProxyFactoryBean 스프링은 일관된 방법으로 프록시 만들 수 있게 도와주는 추상 레이어 제공 생성된 프록시는 스프링의 빈으로 등록돼야 한다. 스프링의 ProxyFactoryBean은 프록시를 생성해서 빈 오브젝트로 등록하게 해주는 팩토리 빈이다. 기존에 만들었던 TxProxyFactoryBean과 달리, ProxyFactoryBean은 순수하게 프록시를 생성하는 작업만을 담당하고 프록시 통해 제공해줄 부가기능은 별도의 빈에 둘 수 있다 .ProxyFactoryBean이 생성하는 프록시에서 사용할 부가기능은 MethodInterceptor인터페이스를 구현해서 만든다. 기존에 만들었던 TxProxyFactoryBean 스프링의 ProxyFactoryBe..

반응형