개발 공부/Spring 55

스프링 핵심 원리 기본편 - 컨테이너에 등록된 빈 조회

컨테이너에 등록된 모든 빈 조회 직접 등록한 빈만 조회 MemberService가 MemberServiceImpl의 instatnce이면 성공 구체 타입으로도 조회 가능, 그러나 유연성은 떨어짐. 테스트는 항상 실패테스트도 만들어야 함 Assertions에서 Alt + Enter누르면 줄일 수 있음 () -> ac.getBean("XXXXX", MemberService.class)로직을 실행하면 NoSuchBeanDefinitionException 예외가 터져야 성공 ! 안터지면 실패 스프링 컨테이너가 뜰 때 SameBeanConfig로만 실행 스프링 컨테이너가 스프링 빈 2개만 등록 테스트 진행하면 아래와 같은 오류 발생 NoUniqueBeanDefinitionException : found2 예외가 ..

스프링 핵심 원리 기본편 - 스프링으로 전환하기

ApplicationContext : 모든 것을 이것으로 시작. 스프링 컨테이너. 모든 객체들을 관리 해 줌 AppConfig에 있는 환경 설정 정보로 스프링이 스프링 컨테이너에 빈으로 등록한 생성된 객체를 넣어 관리 해준다 기존에는 appConfig에서 직접 찾아왔으나 , Spring 컨테이너를 통해 찾아와야 한다 Key는 memberService, Value는 new MemberSeriviceImpl로 해서 스프링 컨테이너에 등록 되어 꺼낼 땐 memberService로 꺼내면 됨

스프링 핵심원리 기본편 - 관심사의 분리

memberServiceImpl이 MemoryMemberRepository를 지정 배우가 담당 배우를 섭외하는 것과 같음 => AppConfig에서 해줘야 함 memberRepository에 구현체가 뭐가 들어갈지는 생성자를 통해서 선택 AppConfig를 통해 MemberService를 불러서 씀 -> MemberService구현체인 객체 MemberServiceImpl생성 됨 MemoryMemberRepository를 통해 아래의 생성자로 들어가 memberRepository에 MemoryMemberRepository가 할당 됨 MemberServiceImpl에 MemoryMemberRepository 코드는 없다 오로지 MemberRepository 인터페이스만 있다 => 추상화에만 의존! 구현체인..