Spring에서 프록시 사용 1

Spring/Core 2022. 11. 5. 23:03

이전 포스팅에서 프록시 개념을 사용한.. 프록시 패턴과 데코레이터 패턴에 대해 알아보았다.. 프록시 개념 : https://starryeye.tistory.com/106 프록시 패턴 : https://starryeye.tistory.com/107 데코레이터 패턴 : https://starryeye.tistory.com/108 이제 실제로 스프링 프레임워크에서 스프링 컨테이너에 프록시를 도입할 경우의... 3가지 상황별로 알아 보자.. 1. 등록될 스프링 빈의 인터페이스가 있고.. 그 구현체가 수동 등록되어 있을 경우 2. 등록될 스프링 빈의 인터페이스가 없고.. 그냥 그 객체 자체가 수동 등록 되어 있을 경우 3. 컴포넌트 스캔을 사용하여 어노테이션 기반으로 스프링 빈이 자동 등록 될 경우 두 가지(1,..

Article Thumbnail
Spring에서 자주 쓰이는 디자인 패턴 5

Spring/Core 2022. 11. 5. 21:30

프록시 개념을 사용한 프록시 패턴에 이어서.. 똑같이 프록시 개념을 사용하는 데코레이터 패턴에 대해 알아 보자... 데코레이터 패턴은 프록시 개념 중, 부가 기능을 추가한다는 의도를 담고있는 패턴이다. 역시 예제를 통해 알아보자.. 똑같이 프록시 개념을 사용하므로.. 프록시 패턴과 구조는 동일하다.. (프록시 체인 개념도 함께 알아보자.) 위는 각각 클래스 의존관계와 런타임 객체 의존 관계이다. 프록시는 TimeDecorator, MessageDecorator 두개이며.. 실제 Target 객체는 RealComponent 클래스이다. Componet는... 부가기능을 수행할 MessageDecorator 클래스, TimeDecorator 클래스와 실제 객체인 RealComponent의 인터페이스이다. 실..

Article Thumbnail
Spring에서 자주 쓰이는 디자인 패턴 4

Spring/Core 2022. 11. 5. 21:04

이전 포스팅에서.. 프록시의 개념에 대해 알아봤고.. 프록시를 사용하는 의도에 따라 구분되는 두가지 패턴중.. (프록시 패턴, 데코레이터 페턴) 프록시 패턴에 대해 알아보자.. 프록시 패턴은 접근 제어에 초점을 맞추어 사용되는 프록시 개념을 도입한 패턴이다. 예제를 통해 알아보자.. Client(ProxyPatternClient)가 Subject 인터페이스를 의존하고 있다. Proxy(CacheProxy)에 해당하는 구체와 Server(RealSubject)에 해당하는 구체가 동일한 인터페이스(Subject)를 구현하고 있다. 위는 런타임 의존 관계를 표현한 클래스 다이어그램이다. 실제 코드로 알아보자 프록시와 서버가 구현해야할 인터페이스이다. 위는 Subject 인터페이스를 구현한 실제 객체에 해당한다..

Article Thumbnail
Spring에서 자주 쓰이는 디자인 패턴 3

Spring/Core 2022. 11. 5. 20:35

템플릿 메서드 패턴, 전략 패턴(템플릿 콜백 패턴) 에서는.. 사실.. 변하지 않는 부분과 변하는 부분으로 나누어서 패턴을 사용하지 않을 때 보다는.. 더 적은 코드로 따로 따로 분리 하여 코드 관리가 가능 했지만, 결국.. 변하는 코드를 적용하기 위한 모든 클래스에 최소 최초에는 원본 코드를 건드려야한다. -> 개발자의 부담으로 다가온다... 원본 코드도 건드리지 않고 변하는 부분에 해당하는 코드를 적용하도록 해보자.. 이를 위해 프록시 개념에 대해 알아보자.. 위 그림에서는 Client가 Server를 직접 호출 하고 있다. 반면, 위 그림에서는 중간에 Proxy라는게 있어서 Client는 Server를 간접 호출하고 있는 상황이다. 이때, 간접 호출할 수 있도록 도와주는 대리자 계층을 프록시라고 부..

Article Thumbnail