Framework & Library/Spring Boot
[Spring Boot] : Spring Bean 조회 기본
오주현
2022. 1. 5. 18:51
반응형
Spring Bean 조회 기본
- 이름으로 조회가 가능하다.
@Test
@DisplayName("구체 타입으로 조회")
void findBeanByName2() {
MemberService memberService = ac.getBean("memberService", MemberServiceImpl.class);//Imp로 구체적으로 볼 수도 있는데 좋지 않다.
assertThat(memberService).isInstanceOf(MemberServiceImpl.class);
}
- 인터페이스가 아니라 구체 타입으로도 조회가 가능하다.
- 추상화에 의존해야 하므로 이것은 좋은 코드가 아니나 사용해야 할 때가 있을 수 있다.
@Test
@DisplayName("이름 없이 타입으로만 조회")
void findBeanByType() {
MemberService memberService = ac.getBean(MemberService.class);
assertThat(memberService).isInstanceOf(MemberServiceImpl.class);
}
- 이름 없이 타입으로만 조회가 가능하다.
@Test
@DisplayName("빈 이름으로 조회 X")
void findBeanByNameX() {
// MemberService xxxxx = ac.getBean("xxxx", MemberService.class);
assertThrows(NoSuchBeanDefinitionException.class,
() -> ac.getBean("xxxxx", MemberService.class));
}
- 실패 코드도 중요하다.
- 람다식을 통해 NoSuchBeanDefinitionException 오류가 떴을 때 테스트가 성공하도록 한다.
출처 : 스프링 핵심 원리 - 기본편 - 인프런
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard
(강의 내용을 참고로 개인 공부하여 올린 내용입니다.)
반응형