개발하는 자몽

프록시(Proxy) 본문

Java/Spring

프록시(Proxy)

jaamong 2022. 8. 13. 14:59

프록시는 어떤 객체를 사용하려고 할 때 해당 객체에 직접 요청하는 것이 아닌 중간에 가짜 프록시 객체(대리인)를 둔다. 이 프록시 객체가 대신 요청을 받고 실제 객체를 호출한다.

 

  • 프록시 모드를 설정하면 의존성 주입을 통해 주입되는 빈은 실제 빈이 아닌 해당 빈을 상속받은 프록시 객체이다.
  • 스프링은 CGLIB 라이브러리(Byte Code Generation Library)를 사용하여 프록시 객체를 주입한다.
  • 프록시 객체 내부에는 실제 빈을 요청하는 로직이 들어있다. 클라이언트의 요청이 들어오는 시점에 실제 빈을 호출한다. 실제 빈의 조회를 필요 시점까지 지연
  • 프록시 객체는 실제 객체를 상속받아서 만들어지므로 클라이언트 입장에서는 실제 빈을 사용하는 것과 동일한 방법으로 사용하면 된다.
  • @Scope의 proxyMode 옵션을 설정하여 사용한다.
@Component
@Scope(ProxyMode = ScopedProxyMode.TARGET_CLASS)
public class DemoBean {
	...
}

 

 

 

 

 

 

출처

 

[스프링] 프록시(Proxy)

프록시의 사전적 정의는 '대리인'으로, 간단하게 설명하면 내가 어떤 객체를 사용하려고 할 때 해당 객체에 직접 요청하는 것이 아닌 중간에 가짜 프록시 객체(대리인)를 두어서 프록시 객체가

developer-hm.tistory.com

Comments