Spring(스프링)/AOP
-
스프링 AOP 용어 짚고 넘어가기Spring(스프링)/AOP 2016. 9. 25. 20:23
Aspect - 공통 관심사에 대한 추상적인 명칭. 예를 들어 로깅이나 보안, 트랜잭션과 같은 기능자체에 대한 용어 Advice - 실제로 기능을 구현한 객체 Join points - 공통 관심사를 적용할 수 있는 대상. Spring AOP에서는 각 객체의 메소드가 이에 해당 Pointcuts - 여러 메소드 중 실제 Advice가 적용될 대상 메소드 target - 대상 메소드를 가지는 객체 Proxy - Advice가 적용되었을 때 만들어지는 객체 Introduction - target에는 없는 새로운 메소드나 인스턴스 변수를 추가하는 기능 Weavcing - Advice와 target이 결합되어서 프록시 객체를 만드는 과정
-
CGLIB 란?Spring(스프링)/AOP 2016. 2. 17. 17:32
CGLib 소개 CGLIB는 코드 생성 라이브러리로서(Code Generator Library) 런타임에 동적으로 자바 클래스의 프록시를 생성해주는 기능을 제공한다. CGLIB를 사용하면 매우 쉽게 프록시 객체를 생성할 수 있으며, 성능 또한 우수하다. 더불어, 인터페이스가 아닌 클래스에 대해서 동적 프록시를 생성할 수 있기 때문에 다양한 프로젝트에서 널리 사용되고 있다. 예를 들어, Hibernate는 자바빈 객체에 대한 프록시를 생성할 때 CGLIB를 사용하며, Spring은 프록시 기반의 AOP를 구현할 때 CGLIB를 사용하고 있다. 아래는 CGLib를 이용한 객체 만들기 자료가 링크되어있다. CGLIB를 이용한 프록시 객체 만들기