AOP (Aspect Oriented Programming) 관점지향프로그래밍 스프링의 3가지 주요 특징이다.1. IoC/DI => 전략 패턴을 바탕으로 스프링이 runtime시에 의존관계를 주입해준다.2. 서비스 추상화 => 다양한 서비스 기술들의 추상화 계층을 제공함으로써 확장성을 높여준다3. AOP => 데코레이터 패턴을 바탕으로(프록시 오브젝트를 활용하는) 관점 지향 프로그래밍을 지원한다. AOP ??관점지향프로그래밍..객체지향프로그래밍(OOP)의 서포터다.부가기능이 핵심기능의 로직안에 들어가지 않도록.. 부가기능을 핵심기능으로부터 분리하여 모듈화함으로써핵심기능이 완전하게 객체 지향 프로그래밍될 수 있도록 도와준다. 스프링의 AOP는 다이나믹한 프록시 오브젝트를 활용하여 간접적으로 부가기능을 수행한다. (직접 .class파일을 수정하지 않는다)스프링은 아래의 기술/기법들의 .. 더보기 프록시 팩토리빈 ==> 빈 후처리기(BeanPostProcessor) 프록시 팩토리빈을 사용해서..Pointcut과 Advice를 재사용할 수 있게되었다. 그런데 target 설정을 위해 ApplicationContext 설정파일 내에서 프록시 팩토리빈의 설정은 줄일 수 없다.단지 타겟만 바꿔가면서 프록시를 생성하고 싶은 타켓의 수 만큼 프록시 팩토리빈을 설정해줘야 한다. 그러나, 빈후처리기를 사용하면 프록시 팩토리빈의 설정을 단 한번도 안해도 된다. 위와 같이 ApplicationContext 설정파일에 빈후처리기를 등록하면, 스프링은 먼저 등록된 빈중에 모든 Advisor 들을 취합하여 빈후처리기에게 준다. 그리고 빈후처리기는 등록된 빈을 생성할 때 마다.. 생성된 빈의 클래스(타입)가 취합된 Advisor의 Pointcut에서 지정한 클래스 패턴과 일치하는 지 검사하.. 더보기 다이나믹프록시 + 팩토리빈 ==> 프록시 팩토리빈 스프링이 다이나믹프록시와 팩토리빈을 썩어서 제공하는 추상화된 서비스 => 프록시 팩토리빈 프록시 팩토리빈은 다이나믹프록시처럼 타겟의 인터페이스를 구현한 프록시 오브젝트를 손쉽게 만들어준다. getObject() 프록시 팩토리빈은 팩토리빈처럼 스프링에 빈으로 등록할 수 있다. 프록시 팩토리빈과 팩토리빈이 다른 점은 다이나믹하게 생성되는 프록시오브젝트가 부가기능을 추가하여 타겟을 호출하는 invoke()메소드의 인터페이스가 다르다. 팩토리빈은 InvocationHandler 인터페이스 프록시 팩토리빈은 MethodInterceptor 인터페이스 또 다른 점은 부가기능을 적용할 메소드 선정 알고리즘이다. 팩토리빈은 InvocationHandler 인터페이스의 invoke 메소드 구현시 해당 알고리즘을 구현해야.. 더보기 이전 1 ··· 6 7 8 9 10 11 12 13 다음 목록 더보기