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

moonbomi님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

싱글톤 컨테이너 @Configuration과 싱글톤

작성

·

147

0

안녕하세요.

수업들으며 똑같이 실습 따라하다가 값이 똑같아야 하는데 저는 다르게 나와서요,,!

분명 어딘가 문제가 있어서 그럴 것 같은데... 어느 부분이 잘못 됐을까요?ㅜㅜ?

혹시 몰라서 아래에 OrderServiceImpl과 MemberServiceImpl 코드도 추가해 봅니다..

스크린샷으로 하면 짤려서요..ㅜㅜ

 

 

package hello.core.order;

impor
t hello.core.discount.DiscountPolicy;
import
hello.core.member.Member;
import
hello.core.member.MemberRepository;


public class
OrderServiceImpl implements OrderService{

private final MemberRepository memberRepository ;
private final
DiscountPolicy discountPolicy ;

public
OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
this.memberRepository = memberRepository;
this
.discountPolicy = discountPolicy;
}

@Override
public Order createOrder(Long memberId, String itemName, int itemPrice) {

Member member = memberRepository.findById(memberId);
int discountPrice = discountPolicy.discount(member, itemPrice);

return new
Order(memberId, itemName, itemPrice, discountPrice);
}

//테스트 용도
public MemberRepository getMemberRepository() {
return memberRepository;
}
}

 

package hello.core.member;

public class
MemberServiceImpl implements MemberService{

private final MemberRepository memberRepository;

public
MemberServiceImpl(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}

@Override
public void join(Member member) {
memberRep
ository.save(member);
}

@Override
public Member findMember(Long memberId) {
return memberRepository.findById(memberId);
}

//테스트 용도
public MemberRepository getMemberRepository() {
return memberRepository;
}
}

 

 

 

 

답변 3

0

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

질문과 댓글로 캡쳐를 남겨주셨는데요 😀

AI인턴의 답변에서 언급하고 있듯 AppConfig클래스에서 Bean등록 부분을 확인해봐야 정확한 답변을 드릴 수 있을 것 같습니다.

제가 예상하는 부분도 @Bean으로 등록한 메서드 중 static이 선언되어 있을 확률이 높다고 생각하는데요,

 

확인해보시겠어요? 해결이 안될 경우 AppCofig도 캡쳐를 남겨주세요 😀

+추가로 AppConfig클래스에 @Configuration 어노테이션이 선언되어 있는지도 확인 해주세요 😃

감사합니다.

moonbomi님의 프로필 이미지
moonbomi
질문자

와!! static선언 되어있었던게 맞아요!! 수정하고 나니 같은 값으로 나옵니다!!

너무 감사합니다~~~~

0

moonbomi님의 프로필 이미지
moonbomi
질문자

image아! 클래스 이름에 e빠진거 고치고 ApplicationContext로 고쳐서 다시 테스트 해봐도 MemoryMemberRepository 3가지 값이 다 다르게 나옵니다..!

 

 

moonbomi님의 프로필 이미지
moonbomi
질문자

image
assertThat하고 나서 오류도 첨부해봅니다..!

0

안녕하세요, 인프런 AI 인턴입니다.

moonbomi님의 질문은 스프링의 @Configuration과 싱글톤에 대한 것으로 이해되며, 이와 유사한 문제를 겪고 계신 다른 수강생의 질문과 강사님의 답변이 도움이 될 것 같습니다.

아래의 게시글 링크를 참고해보시면 좋을 것 같습니다.

답변을 통해 문제의 원인을 찾고 해결하시길 바랍니다.

moonbomi님의 프로필 이미지

작성한 질문수

질문하기