Spring/Spring Core22 스프링 AOP 2 @Aspect AOP 스프링 애플리케이션에 프록시를 적용하려면 포인트컷과 어드바이스로 구성되어 있는 어드바이저를 만들어서 스프링 빈으로 등록하면 된다. 이 외의 모든 과정들은 자동 프록시 생성기가 처리해준다. 자동 프록시 생성기는 스프링 빈으로 등록되어 있는 어드바이저들을 찾고 해당 조건들을 만족하는 빈들에게 프록시를 적용해준다. 스프링은 @Aspect 애너테이션으로 매우 편리하게 포인트컷과 어드바이스로 구성되어있는 어드바이저를 생성할 수 있게끔 지원한다. 자동 프록시 생성기의 두 가지 담당 기능 1. @Aspect를 보고 어드바이저임을 인지한 뒤 변환한다. @Aspect를 어드바이저로 변환해서 저장하는 과정 1. 실행: 스프링 애플리케이션 로딩 시점에 자동 프록시 생성기를 호출한다. 2. 모든 @Asp.. 2023. 8. 2. 스프링 AOP 1 애플리케이션의 핵심기능과 부가기능 핵심기능: 해당 객체가 제공하는 고유의 기능. 부가기능: 핵심 기능을 보조하는 기능. 로그, 트랜잭션 등 단독으로 사용되지 않고 핵심 기능에 편리성을 제공하는 역할 부가기능을 모든 핵심 기능 계층에 적용하기 위해 각 계층마다 부가기능 로직을 작성하는 것은 매우 비효율적이다. 만약 해당 클래스가 100개라면 부가기능을 100번 작성해야한다. 더 큰 문제는 해당 부가기능에 변경 사항이 생기게 된다면 부가기능을 일일이 작성한 경우, 해당 로직들을 찾아 전부 수정해야한다는, 생각만 해도 끔찍한 일이 발생한다. Proxy 생각만 해도 끔찍한 상황을 막기 위해 부가기능을 한 곳에 몰아넣고, 실제 핵심기능이 호출되기 전 후에 부가기능을 실행시킨 후 핵심기능을 호출할 수 있는 프록시가.. 2023. 7. 31. 이전 1 다음