AOP2 [Spring] AOP 개념, 적용, 주의사항 ㄴ본 포스팅은 인프런 김영한님의 ‘스프링 핵심 원리 - 고급편’ 강의를 듣고 정리한 내용을 바탕으로 복습을 위해 작성하였습니다. [강의 링크] 1. AOP란? Spring의 핵심 개념 중 하나인 DI가 애플리케이션 모듈들 간의 결합도를 낮춘다면, AOP(Aspect-Oriented Programming)는 핵심 로직과 부가 기능을 분리하여 애플리케이션 전체에 걸쳐 사용되는 부가 기능을 모듈화하여 재사용할 수 있도록 지원하는 것 입니다. Aspect-Oriented Programming이란 단어를 번역하면 관점(관심) 지향 프로그래밍 이 됩니다. 프로젝트 구조를 바라보는 관점을 바꿔보자는 의미입니다. 각각의 Service의 핵심기능에서 바라보았을 때 User과 Order는 공통된 요소가 없습니다. 하지만 .. 2022. 8. 8. [Spring] 프록시 팩토리와 빈 후처리기 본 포스팅은 인프런 김영한님의 ‘스프링 핵심 원리 - 고급편’ 강의를 듣고 정리한 내용을 바탕으로 복습을 위해 작성하였습니다. [강의 링크] 1. 프록시 팩토리 JDK 동적 프록시 인터페이스 기반 CGLIB 구체 클래스 기반 JDK 동적 프록시와 CGLIB에서 기반으로 하는 대상이 다르기 때문에 같은 기능을 제공하기 위해서는 JDK 동적 프록시가 제공하는 InvocationHandler와 CGLIB가 제공하는 MethodInterceptor로 따로 만들고 중복으로 관리해야하는 문제가 있습니다. 스프링에서 제공하는 프록시 팩토리는 이 문제를 해결해줍니다. 프록시 팩토리는 인터페이스가 있으면 JDK 동적 프록시를 사용하고, 클래스만 있다면 CGLIB을 사용합니다.(설정 변경 가능) 프록시 팩토리가 조건에 맞.. 2022. 7. 29. 이전 1 다음