Notice
Recent Posts
Link
Tags
- string
- Docker
- 프로그래머스
- DI
- AWS
- static
- @transactional
- hibernate
- java
- 자바
- jpa
- 데이터베이스
- spring security 6
- 문자열
- mysql
- select
- 스프링부트
- Django
- 1차원 배열
- PYTHON
- sql
- spring boot
- spring
- SSL
- join
- nginx
- spring mvc
- 스프링
- ORM
- springboot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Archives
개발하는 자몽
프록시(Proxy) 본문
프록시는 어떤 객체를 사용하려고 할 때 해당 객체에 직접 요청하는 것이 아닌 중간에 가짜 프록시 객체(대리인)를 둔다. 이 프록시 객체가 대신 요청을 받고 실제 객체를 호출한다.
- 프록시 모드를 설정하면 의존성 주입을 통해 주입되는 빈은 실제 빈이 아닌 해당 빈을 상속받은 프록시 객체이다.
- 스프링은 CGLIB 라이브러리(Byte Code Generation Library)를 사용하여 프록시 객체를 주입한다.
- 프록시 객체 내부에는 실제 빈을 요청하는 로직이 들어있다. 클라이언트의 요청이 들어오는 시점에 실제 빈을 호출한다. → 실제 빈의 조회를 필요 시점까지 지연
- 프록시 객체는 실제 객체를 상속받아서 만들어지므로 클라이언트 입장에서는 실제 빈을 사용하는 것과 동일한 방법으로 사용하면 된다.
- @Scope의 proxyMode 옵션을 설정하여 사용한다.
@Component
@Scope(ProxyMode = ScopedProxyMode.TARGET_CLASS)
public class DemoBean {
...
}
출처
[스프링] 프록시(Proxy)
프록시의 사전적 정의는 '대리인'으로, 간단하게 설명하면 내가 어떤 객체를 사용하려고 할 때 해당 객체에 직접 요청하는 것이 아닌 중간에 가짜 프록시 객체(대리인)를 두어서 프록시 객체가
developer-hm.tistory.com
'Java & Kotlin > Spring' 카테고리의 다른 글
[Spring MVC] Model, @ModelAttribute (1) | 2022.09.10 |
---|---|
[Spring MVC] 뷰 템플릿, 템플릿 엔진, thymeleaf (0) | 2022.09.08 |
Dependency LookUp (0) | 2022.08.12 |
[Spring]빈 등록과 의존관계 주입 (0) | 2022.08.04 |
AnnotationConfigApplicationContext와 static class (0) | 2022.08.03 |
Comments