JAVA/Spring(Springboot)
[Spring] Bean 객체 가져오기
나는아이스크림
2021. 7. 17. 16:09
728x90
Bean 객체를 가져올때 두가지 방법이 있다
1. Bean 타입으로 가져오기
2. Bean 이름으로 가져오기
우선 ApplicationContext 객체를 생성하자
ApplicationContext ac
= AnnotationConfigApplicationContext(AppConfig.class);
위에서 사용하는 AppConfig 파일은 @Bean을 등록한 Configuration 파일이다
@Configuration
public class AppConfig {
@Bean
public MemberService memberService() {
return new MemberServiceImpl(memberRepository());
}
@Bean
public MemberRepository memberRepository() {
return new MemoryMemberRepository();
}
}
ApplicationContext 객체를 생성했다면 Bean 객체를 가져올 수 있다
1. Bean 타입으로 가져오는 방법
MemberService bean = ac.getBean(MemberService.class);
하지만 리턴 타입이 중복이 되는 경우가 있기 때문에
Bean 이름까지 적어줘야 하는 경우가 생길 수 있다
2. Bean 이름으로 가져오는 방법
MemberService bean = ac.getBean("memberService", MemberService.class);
728x90
728x90