Notice
Recent Posts
Link
Tags
- select
- SSL
- ORM
- Git
- join
- 문자열
- sql
- mysql
- session
- springboot
- 프로그래머스
- 스프링
- DI
- java
- spring security 6
- 스프링부트
- 데이터베이스
- AWS
- Django
- Docker
- PYTHON
- spring mvc
- spring
- 1차원 배열
- jpa
- spring boot
- 자바
- nginx
- string
- @transactional
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 {
...
}
출처
'Java > 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