proxy2 JDK Dynamic Proxy, CGLIB 그리고 AOP 프록시 패턴 프록시 패턴이라는 디자인 패턴이 있다. 프록시 패턴은 실제 기능을 수행하는 객체 대신 가상의 대리자(프록시)를 사용하여 로직의 흐름을 제어하는 디자인 패턴이다. 프록시 패턴의 활용 원래 하려던 기능을 수행하며 그 외의 부가적인 작업 (로깅, 캐싱, 인증, 트랜잭션 등)을 별도로 수행할 수 있다. 비용이 많이 드는 연산 (DB 쿼리)를 실제로 필요한 시점까지 미룰 수 있다. 프록시 객체 만드는 법 기존의 객체를 프록시를 만드는 법은 두가지가 있다. 1. JDK Dynamic Proxy 2. CGLIB JDK Dynamic Proxy JDK Dynamic Proxy 는 Java의 리플렉션 패키지에 존재하는 Proxy라는 클래스를 통해 생성된 프록시 객체를 의미 한다. 타겟클래스를 리플렉션의 Pr.. Spring Boot/AOP 2023. 5. 2. [디자인패턴] Spring 에서 사용되는 프록시, 데코레이터 패턴 프록시(Proxy) 패턴 프록시 패턴은 실제 기능을 수행하는 객체 대신에 가상의 객체를 사용해 로직의 흐름을 제어(접근 제어가 목적)하는 디자인 패턴 입니다. 클라이언트는 서버에 필요한 것을 요청하고, 서버는 클라이언트의 요청을 처리하는 일을 합니다. 프록시는 클라이언트가 요청한 결과를 서버에 직접 요청하는것이 아니라 어떤 대리자를 통해 간접적으로 서버에 요청하는것을 말합니다. 프록시의 주요 기능 접근제어 권한에 따른 접근 차단 캐싱 지연로딩 부가 기능추가 원래 서버가 제공하는 기능에 더해서 부가 기능을 수행한다. 예) 요청 값이나, 응답 값을 중간에 변경한다. 예) 실행 시간을 측정해서 추가 로그를 남긴다. 프록시(Proxy) 패턴 예시 SNS 서비스가 있습니다. 이 SNS의 글의 목록을 조회하여 화면.. Spring Boot 2023. 4. 30. 이전 1 다음