반응형

Spring AOP 4

[토비의 스프링 3.1 Vol 1] 6장. AOP (6.5 스프링 AOP)

6.5 스프링 AOP 6.5.1 자동 프록시 생성 분리해낸 트랜잭션 코드는 투명한 부가기능 형태로 제공돼야 한다. 투명하다는 건 부가기능을 적용한 후에도 기존 설계와 코드에 영향을 주지 않아야 한다는 것이다. 투명한 부가기능을 적용하는 과정에서 발견했던 거의 대부분의 문제는 해결했다. 타깃 코드는 여전히 깔끔한 채로 남아 있고 부가기능은 한 번만 만들어 모든 타깃과 메소드에 재사용 가능하고 타깃의 적용 메소드를 선정하는 방식도 독립적으로 작성할 수 있도록 분리되어 있다. 프록시 팩토리 빈 방식의 접근 방법의 두 가지 문제중 부가기능이 타깃 오브젝트마다 새로 만들어지는 문제는 ProxyFactoryBean의 어드바이스 통해 해결했다. 남은 것은 부가기능의 적용이 필요한 타깃 오브젝트마다 거의 비슷한 내용의..

[토비의 스프링 3.1 Vol 1] 6장. AOP (6.4장 스프링의 프록시 팩토리 빈) + spring boot @Transactional

6.4 스프링의 프록시 팩토리 빈6.4.1 ProxyFactoryBean 스프링은 일관된 방법으로 프록시 만들 수 있게 도와주는 추상 레이어 제공 생성된 프록시는 스프링의 빈으로 등록돼야 한다. 스프링의 ProxyFactoryBean은 프록시를 생성해서 빈 오브젝트로 등록하게 해주는 팩토리 빈이다. 기존에 만들었던 TxProxyFactoryBean과 달리, ProxyFactoryBean은 순수하게 프록시를 생성하는 작업만을 담당하고 프록시 통해 제공해줄 부가기능은 별도의 빈에 둘 수 있다 .ProxyFactoryBean이 생성하는 프록시에서 사용할 부가기능은 MethodInterceptor인터페이스를 구현해서 만든다. 기존에 만들었던 TxProxyFactoryBean 스프링의 ProxyFactoryBe..

[스프링 퀵스타트] Day2 - chapter2. 스프링 AOP 용어 및 기본 정리 (v2024)

Chapter 2. AOP 용어 및 기본 정리AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)는 공통적인 기능을 핵심 로직에서 분리해 유지보수를 쉽고 코드의 가독성을 높이는 방법입니다. 이번 포스팅에서는 AOP의 기본 용어와 이를 이해하는 데 필요한 핵심 개념을 정리하겠습니다.1. AOP의 핵심 용어 정리조인포인트(JoinPoint)클라이언트가 호출하는 모든 비즈니스 메서드가 조인포인트가 될 수 있습니다.AOP를 적용할 수 있는 지점으로, 메서드 호출뿐 아니라 예외 처리와 같은 다양한 지점이 포함됩니다.포인트컷(Pointcut)특정 조건에 맞는 조인포인트를 필터링한 결과입니다.AOP가 적용될 메서드나 클래스를 지정할 수 있습니다.포인트컷 표현식을 사용해 메서드의 실행 시점..

[스프링 퀵스타트] Day2 - chapter1. 스프링 AOP (v2024)

스프링 프레임워크는 AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)를 통해 공통적인 관심사(Cross-Cutting Concerns)를 분리하여 코드의 응집도를 높이고, 결합도를 낮춥니다. 이번 포스팅에서는 스프링 AOP의 개념과 XML을 활용한 설정 방법에 대해 정리하겠습니다.1. AOP의 개념과 필요성낮은 결합도 = IoC (Inversion of Control)객체 간의 의존성을 스프링 컨테이너가 관리함으로써 결합도를 낮추고 유연한 구조를 제공합니다.높은 응집도 = AOP공통적으로 반복되는 로직(예: 로깅, 예외 처리, 트랜잭션 관리 등)을 핵심 로직과 분리하여 코드의 응집도를 높입니다.관심사 분리 (Separation of Concerns)핵심 비즈니스 로직과 부..

반응형