작성한 질문수
스프링 핵심 원리 - 기본편
스프링으로 전환하기
작성
·
199
1
MemberService memberService = ctx.getBean("memberService", MemberService.class);
MemberService memberService = ctx.getBean("memberService", MemberServiceImpl.class);
이 2개의 차이점이 궁금합니다!
결과는 똑같이 나오는데 인터페이스를 넘긴 이유가 따로 있을까요?
앞에서 말씀하신대로 구현보단 역할에 의존해야 하기 때문인가요??
퀴즈
객체를 직접 생성(new)하여 의존성을 관리할 때 발생하기 쉬운 설계상의 문제는 무엇인가요?
컴파일 오류가 발생한다.
요구사항 변경 시 클라이언트 코드 수정이 필요해진다.
객체 직렬화가 불가능해진다.
멀티 스레딩 환경에서 문제가 생긴다.
답변 1
2
안녕하세요. 에러나면짖는개님, 공식 서포터즈 David입니다.
네, 맞습니다.
구현체 타입(MemberServiceImpl.class)을 지정하게 되면 Configuration의 memberService()에서 반환하는 객체가 다른 구현체로 변경되었을 때는 MemberServiceImpl.class 타입으로 빈을 가져오지 못합니다.
감사합니다.
강의 뒤쪽에 잘 설명해주신 부분이였네요 ㅋㅋ
답변 감사합니다!!
강의 뒤쪽에 잘 설명해주신 부분이였네요 ㅋㅋ
답변 감사합니다!!