반응형
예제를 스프링 기반으로 변경
AppConfig 수정
@Configuration
public class AppConfig {
@Bean
public MemberService memberService() {
return new MemberServiceImpl(memberRepository());
}
@Bean
public MemberRepository memberRepository() {
return new MemoryMemberRepository();
}
@Bean
public OrderService orderService() {
return new OrderServiceImpl(memberRepository(), discountPolicy());
}
@Bean
public DiscountPolicy discountPolicy() {
// return new FixedDiscountPolicy();
return new RateDiscountPolicy();
}
}
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
MemberService memberService = applicationContext.getBean("memberService", MemberService.class);
OrderService orderService = applicationContext.getBean("orderService", OrderService.class);
- ApplicationContext를 스프링 컨테이너라고 부른다.
- 스프링 컨테이너는 @Configuration이 붙은 AppConfig를 설정 정보로 사용하고, @Bean 이라 적힌 메서드를 모두 호출해서 스프링 컨테이너에 등록한다.
- 스프링 빈은 @Bean이 붙은 메서드의 명을 스프링 빈의 이름으로 사용한다.
스프링 컨테이너 생성 과정
- 스프링 컨테이너 생성
- 스프링 빈 등록
- 스프링 빈 의존관계 설정
출처
[인프런] 스프링 핵심 원리 - 기본편
스프링 핵심 원리 - 기본편 - 인프런 | 강의
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢
www.inflearn.com
반응형
'WEB > Spring 인강' 카테고리의 다른 글
[Spring] 스프링 공부 #12 (0) | 2022.02.07 |
---|---|
[Spring] 스프링 공부 #11 (0) | 2022.02.01 |
[Spring] 스프링 공부 #9 (0) | 2022.01.09 |
[Spring] 스프링 공부 #8 (0) | 2022.01.08 |
[Spring] 스프링 공부 #7 (0) | 2022.01.07 |