작성한 질문수
스프링 핵심 원리 - 기본편
작성
·
190
수정됨
0
안녕하세요, 싱글톤 테스트 코드에서 OrderService, MemberService 인터페이스의 구체인 OrderServiceImpl과 MemberServiceImpl 클래스에서 각각 생성자로 주입되어져 있는 memberRepository 객체를 꺼내서 프린트해봤는데 서로 다른 객체라고 뜹니다 뭐가 문제일까요? 코드는 강의 교안과 일치합니다
답변 2
1
안녕하세요. 훈님, 공식 서포터즈 y2gcoder입니다.
테스트 코드를 보니 ConfigurationSingletonTest 에서 발생하는 문제로 보입니다.
AppConfig 코드를 보여주시겠습니까?
혹시 AppConfig의 memberRepository() 메서드에 static 이 붙어있다면 지워주십쇼! 자세한 이유는 다음 링크(클릭)을 참고해보시겠습니까?
감사합니다.
감사합니다. private final로 선언되어있던 memberRepositor를 public으로 변경하였더니 같은 객체라고 뜨고 테스트도 잘 되는 것 같습니다
--추가--@Autowired 어노테이션을 통해 의존 관계를 주입시켜서 출력해보면 같은 객체라고 나오는데 @Configuration 어노테이션을 통해 스프링 컨테이너가 자동으로 객체를 관리하도록 해서 출력하면 다른 객체라고 나옵니다..혹시 스프링 컨테이너 문제일까요?
(스프링 컨테이너 객체 정보를 프린트로 찍어봤습니다)
감사합니다. private final로 선언되어있던 memberRepositor를 public으로 변경하였더니 같은 객체라고 뜨고 테스트도 잘 되는 것 같습니다