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