Spring Boot
Spring 공부 01. Configuration, Bean
게슬
2023. 6. 28. 21:54
728x90
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
이거 사용해서 Config 를 등록 할 수 있다.
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
그래서 이거를 사용하면 등록한 것들을 소환? 할 수 있는데
@Bean
public MemberRepository memberRepository(){
return new MemoryMemberRepository();
}
이렇게 등록을 해두면 어떻게 소환을 하느냐
// 1
MemberService memberService = applicationContext.getBean(MemberService.class);
// 2
MemberService memberService = applicationContext.getBean("memberService",MemberService.class);
이렇게 불러올 수 있음.
@Bean("ooo")
public OrderService orderService(){
return new OrderServiceImpl(memberRepository(),discountPolicy());
}
저거 Bean에 대해서 직접 이름을 설정 할 수도 있는데. 이렇게 해두면
OrderService orderService = applicationContext.getBean("ooo",OrderService.class);
이렇게 불러 올 수도 있다.
@Configuration
근대 Class에 이거를 등록안해주고
@Bean
Method에 Bean만 등록해주면 컨테이너에서 만들어서 주긴 하지만 싱글톤을 유지해주지 못함.
728x90