본문으로 바로가기

Spring AOP 관련

category Back-End/Spring framework 2018. 9. 17. 21:54
반응형

스프링 AOP는 JDK 다이나믹 프록시를 이용한 방법과 CGLIB을 이용한 프록시를 이용하는 방법 2가지가 있다.


결국 AOP는 프록시를 통해 구현할 수 있다.


다이나믹 프록시를 이용한 방법은 치명적인 제약사항이 있다.


첫 번째는 프록시객체를 만들고자하는 대상이 인터페이스 또는 인터페이스를 implements 하고 있는 클래스여야 한다는 것이다.


일반적으로 Spring이 제공하는 AOP기술을 사용할 때 AOP를 적용하려고 하는 클래스에 어떤 인터페이스를 꼭 implements하지 않아도 됐다.


즉 기본적으로 사용되는 방법은 CGLIB을 이용한 프록시를 활용하는 방법이다. (다이나믹 프록시를 이용하려면 별도의 설정을 함)


두 번째로, 특정 메소드에 국한되지 않고 인터페이스의 모든 메소드에 대해 적용된다는 점이다.


Pointcut으로 메소드를 지정하는 방법은 결국 CGLIB을 이용할 수 밖에 없다는 것이다.

반응형