개발일기장
Spring 공부 01. Configuration, Bean 본문
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
'Spring Boot' 카테고리의 다른 글
Spring 공부 05. Bean Life Cycle (0) | 2023.07.10 |
---|---|
Spring 공부 04. 의존관계주입 (0) | 2023.07.05 |
Spring 공부 03. @Bean주입 (0) | 2023.07.04 |
Spring 공부 02. 스프링 컨테이너 (0) | 2023.07.01 |
MyBatis - Spring 설정 (0) | 2022.06.02 |
Comments