인프런 커뮤니티 질문&답변

ddNewB님의 프로필 이미지
ddNewB

작성한 질문수

스프링 핵심 원리 - 기본편

스코프와 프록시

프록시와 스코프에 대해

작성

·

551

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
1.CGLIB 라이브러리 관련 얘기를 싱글톤을 배울 때

@Configuration 이 들어간

수동 빈 등록 혹은

자동 빈 등록@ComponantScan 에 자동으로 CGLIB이 적용 된다고 이해하면 되는걸까요 ??

 

2.프록시를 보면서 가짜 프록시 객체를 생성하고 진짜

객체를 조회 할 때까지 지연 처리 한다 적혀있는데

CGLIB 이 적용된 @Bean 을 생각해 보면

스프링 컨테이너에 myLoger 빈이 있으면 그대로 사용

없으면 myLogger를 등록 후 리턴해서 싱글톤 보장이 된다고 이해를 했는데.

request 스코프 빈은 요청이 와야 생성할 수 있으며

Proxy,Provicder 가 지연 처리를 하며 ( localhsot~~~~ log-demo 들어갈때까지)

CGLIB 기능(빈이 있으면 사용 없으면 새로 생성해서 리턴)

myLogger@CGLIB(상속받은객체) 가 프록시 객체에 들어가며

'가짜 프록시 객체는 실제 요청이 오면 그때 내부에서 실제 빈을 요청하는 위임 로직이 들어있다.'

→ 가짜 프록시 객체 실행 시(myLogger.log 등..) @Componant 진짜 myLogger 빈을 사용해서

기능 실행

제가 이해한 Proxy,Provider 역할이 맞을까요 ?

 

3. @Scope는 싱글톤 스코프가 기본값으로 적용 되어

있는데 여태까지 로직처리나 그런 부분은 따로

@Scope를 설정 안했는데 DB연결 이나 네트워크 관련

(페이지 이동? 로그인?) 일 때 주로 사용하는게 맞나요

 

@Scope에 대해서 어려움이 있어 질문 남깁니다..ㅠ

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. ddNewB님

생각하신 내용이 맞습니다.

추가로 @Scope의 경우 대부분 싱글톤을 사용하고, 아주 가끔 하나의 HTTP 요청을 처음부터 끝까지 연결해서 사용해야 하는 경우에 request를 사용하는 정도입니다.

감사합니다.

ddNewB님의 프로필 이미지
ddNewB

작성한 질문수

질문하기