Spring Framework/Spring AOP APIs(9)
-
Using the ProxyFactoryBean to Create AOP Proxies
Spring IoC 컨테이너(예: ApplicationContext 또는 BeanFactory)를 비즈니스 객체에 사용하는 경우(Spring에서는 이를 권장합니다), Spring의 AOP FactoryBean 구현 중 하나를 사용하는 것이 좋습니다. FactoryBean은 간접적인 레이어를 도입하여 다른 유형의 객체를 생성할 수 있게 해줍니다.Spring AOP 지원도 내부적으로 FactoryBean을 사용합니다. Spring에서 AOP 프록시를 생성하는 기본적인 방법은 org.springframework.aop.framework.ProxyFactoryBean을 사용하는 것입니다. 이를 통해 포인트컷, 적용할 어드바이스, 어드바이스의 순서에 대해 완전한 제어를 할 수 있습니다. 그러나 이러한 제어가 필요..
2023.05.16 -
Pointcut API in Spring
이 섹션에서는 Spring이 중요한 포인트컷 개념을 어떻게 처리하는지 설명합니다.Concepts스프링의 포인트컷 모델은 advice 유형과 독립적으로 포인트컷을 재사용할 수 있게 해줍니다. 동일한 포인트컷으로 다양한 어드바이스를 타겟팅할 수 있습니다.org.springframework.aop.Pointcut 인터페이스는 특정 클래스와 메서드를 타겟으로 어드바이스를 지정하기 위해 사용하는 핵심 인터페이스입니다. 전체 인터페이스는 다음과 같습니다:public interface Pointcut { ClassFilter getClassFilter(); MethodMatcher getMethodMatcher();}Pointcut 인터페이스를 두 부분으로 나누면 클래스와 메서드 매칭 부분을 재사용하고, ..
2023.05.03 -
Concise Proxy Definitions
특히 트랜잭션 프록시를 정의할 때, 유사한 프록시 정의가 많이 생길 수 있습니다. 부모-자식 빈 정의와 내부 빈 정의를 사용하면 훨씬 깔끔하고 간결한 프록시 정의를 만들 수 있습니다.먼저, 다음과 같이 프록시를 위한 부모(템플릿) 빈 정의를 생성합니다:XML 기반 구성: PROPAGATION_REQUIRED 자바 기반 구성:@Configurationpublic class AppConfig { @Bean public TransactionProxyFactoryBean txProxyTemplate(TransactionManager transactionManager) { TransactionProxyFactoryBean ..
2023.05.03