AOP 실습 및 테스트 AOP실습을 위해 Spring Legacy Project 생성 1.프로젝트에 패키지를 생성하고 테스트를 위한 Service Interface와 Class 구현 SampleService 인터페이스 내용 package org.sample.service; public interface SampleService { public Integer doAdd(String str1, String str2) throws Exception; } SampleServiceImpl 클래스 package org.sample.service; import org.springframework.stereotype.Service; @Service public class SampleServiceImpl implemen..
AOP AOP기능은 주로 일반적인 JAVA API를 이용하는 클래스(POJO)들에 적용한다. Controller에 적용이 불가능한 것은 아니지만, Controller의 경우에는 인터셉터나 필터 등을 주로 이용. 스프링의 AOP는 AspectJ라는 라이브러리의 도움을 받기 때문에, 스프링 버전에 맞게 AspectJ버전을 변경. 5.0.7.RELEASE 1.9.0 1.7.25 AOP설정과 관련해서 사용하는 라이브러리인, AspectJ Weaver 를 추가 org.aspectj aspectjweaver ${org.aspectj-version} 스프링 프로젝트에 AOP를 설정하는것은, 스프링 2.x버전 이후에는 자동으로 proxy 객체를 만들어주는 설정을 추가(root-context.xml 의 Namespace..
AOP 용어 정리 1.Target 부가기능을 부여할 대상.(핵심기능을 담당하는 Service들 ) 2.Aspect 부가기능 모듈을 Aspect라고 부름(핵심기능에 부가되어 의미를 갖는 모듈) 부가될 기능을 정의한 Advice와, Advice를 어디에 적용할지를 결정하는 Pointcut을 함께 갖고있음. 어플리케이션의 핵심적인 기능에서, 부가적인 기능을 분리해서 Aspect라는 모듈로 만들어서 설계하고 개발하는 방법 3.Advice 실질적으로 부가기능을 담은 구현체. 타겟 오브젝트에 종속되지 않기 때문에, 부가기능에만 집중할 수 있음. Aspect가 무엇을 언제 할 지를 정의 4.PointCut 부가기능이 적용될 대상(method)을 선정하는 방법 Advice를 적용할 JoinPoint를 선별하는 기능을 ..