• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

섹선5 [싱글톤 방식의 주의점] 질문

24.02.23 00:00 작성 24.02.23 00:46 수정 조회수 113

0

안녕하세요, 싱글톤 테스트 코드에서 OrderService, MemberService 인터페이스의 구체인 OrderServiceImpl과 MemberServiceImpl 클래스에서 각각 생성자로 주입되어져 있는 memberRepository 객체를 꺼내서 프린트해봤는데 서로 다른 객체라고 뜹니다 뭐가 문제일까요? 코드는 강의 교안과 일치합니다

답변 2

·

답변을 작성해보세요.

1

y2gcoder님의 프로필

y2gcoder

2024.02.23

안녕하세요. 훈님, 공식 서포터즈 y2gcoder입니다.

테스트 코드를 보니 ConfigurationSingletonTest 에서 발생하는 문제로 보입니다.

AppConfig 코드를 보여주시겠습니까?

혹시 AppConfig의 memberRepository() 메서드에 static 이 붙어있다면 지워주십쇼! 자세한 이유는 다음 링크(클릭)을 참고해보시겠습니까?



감사합니다.

훈님의 프로필

질문자

2024.02.24

감사합니다. private final로 선언되어있던 memberRepositor를 public으로 변경하였더니 같은 객체라고 뜨고 테스트도 잘 되는 것 같습니다

0

훈님의 프로필

질문자

2024.02.23

--추가--
@Autowired 어노테이션을 통해 의존 관계를 주입시켜서 출력해보면 같은 객체라고 나오는데 @Configuration 어노테이션을 통해 스프링 컨테이너가 자동으로 객체를 관리하도록 해서 출력하면 다른 객체라고 나옵니다..혹시 스프링 컨테이너 문제일까요?

 

image(스프링 컨테이너 객체 정보를 프린트로 찍어봤습니다)