작성
·
194
0
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
의존관계 자동 주입 부분 강의듣고 있는데요 생성자 주입이랑 수정자 주입부분 설명하실때 코드에
this.memberRepository = memberRepository;
이런 코드가 존재하는데 이는 필드값을 변경하는거 아닌가요?? 싱클톤 컨테이너 강의에서 싱글톤 방식의 주의점에서 특정 클라이언트가 값을 변경할수 있는 필드가 있으면 안된다고 하셨는데 그러면 위의 코드처럼 쓰면 안되는거 아닌가요??
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
의존관계 자동 주입에서 생성자 주입이나 수정자 주입을 사용할 때, this.memberRepository = memberRepository;
와 같은 코드가 존재하게 됩니다. 이 코드는 필드값을 변경하는 것이 맞습니다.
하지만, 싱글톤 컨테이너에서 주의해야 할 점은 특정 클라이언트가 값을 변경할 수 있는 필드가 있다면 안된다는 점입니다. 그러므로, 위의 코드처럼 사용할 때는 해당 필드가 싱글톤 컨테이너에서 관리되는 빈이 아닐 때 주의해야 합니다.
의존관계 자동 주입은 자바에서 스프링 프레임워크를 통해 사용되는 기능으로, 싱글톤 컨테이너와는 조금 다릅니다. 이를 통해 의존성을 주입할 때 문제가 발생하지 않도록 주의하는 것이 중요해요.
추가로 궁금한 점이 있으면 얼마든지 물어보세요! 좋은 하루 되세요.
MemberRepository 는 스프링 컨테이너에서 관리하는 빈이어서 this.memberRepository = memberRepository; 를 써도 되는 건가요??