-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
프록시 관련해서 질문이 있습니다.
22.02.13 17:36 작성 조회수 253
1
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
영한님 안녕하세요.
답변을 작성해보세요.
2
김영한
지식공유자2022.02.13
안녕하세요. KiddingJust님
Q: 먼저 스프링이 빈을 싱글톤으로 관리하기 위해 CGLIB 바이트코드 조작을 통해 가짜 프록시 객체를 스프링 빈으로 등록한다고 알고 있습니다.
-> 이 부분을 잘못 이해하고 있습니다. @Configuration을 설정하는 설정 객체만 프록시가 적용되는 것이고, 스프링 빈은 순수한 객체로 저장이 되는 것 입니다. 관련해서 스프링 핵심 원리 섹션5. 싱글톤 컨테이너를 복습해주세요^^
Q: 추가로, 지연로딩을 위한 프록시 객체는 영속성 컨텍스트가 시작될 떄 생성되어 영속성 컨텍스트가 종료되면 사라지는 것인지 궁금합니다.
-> 영속성 컨텍스트가 종료되어도 프록시 객체 자체가 사라지지는 않습니다. 그러면 Null 예외가 발생하겠지요? 대신에 영속성 컨텍스트가 없으면, 초기화에 실패하게 됩니다.
감사합니다.
KiddingJust
질문자2022.02.14
안녕하세요! 주말 늦은 시간까지 답해주셔서 정말 감사합니다.
해당 강의 다시 보고왔는데, 정말 크게 잘못 이해하고 있었네요 ㅎㅎ...
Configuration이 붙은 설정 객체에 프록시가 적용돼서, 요청한 객체가 스프링 빈으로 등록되어 있으면 그 객체를 반환하고, 스프링 빈에 등록되어있지 않으면 객체를 생성해서 반환한다고 이해했습니다. 그래서 싱글톤이 보장되는 거구요..
답변해주셔서 정말 감사합니다!
답변 1