반응형
스프링 AOP는 JDK 다이나믹 프록시를 이용한 방법과 CGLIB을 이용한 프록시를 이용하는 방법 2가지가 있다.
결국 AOP는 프록시를 통해 구현할 수 있다.
다이나믹 프록시를 이용한 방법은 치명적인 제약사항이 있다.
첫 번째는 프록시객체를 만들고자하는 대상이 인터페이스 또는 인터페이스를 implements 하고 있는 클래스여야 한다는 것이다.
일반적으로 Spring이 제공하는 AOP기술을 사용할 때 AOP를 적용하려고 하는 클래스에 어떤 인터페이스를 꼭 implements하지 않아도 됐다.
즉 기본적으로 사용되는 방법은 CGLIB을 이용한 프록시를 활용하는 방법이다. (다이나믹 프록시를 이용하려면 별도의 설정을 함)
두 번째로, 특정 메소드에 국한되지 않고 인터페이스의 모든 메소드에 대해 적용된다는 점이다.
Pointcut으로 메소드를 지정하는 방법은 결국 CGLIB을 이용할 수 밖에 없다는 것이다.
반응형
'Back-End > Spring framework' 카테고리의 다른 글
Spring MVC multipart-formdata 요청 (0) | 2018.09.17 |
---|---|
Spring JSON 응답 보내기 (0) | 2018.09.17 |
Spring 4.3 이상 환경에서 Mybatis AbstractMethodError 오류 (1) | 2018.09.17 |
Spring MVC Resource Mapping 방법 (0) | 2018.09.17 |
@Autowired VS @Resource VS @Inject (0) | 2018.09.17 |