본문 바로가기

웹 개발/Spring

[Spring 기본] 스프링 컨테이너 생성

스프링 컨테이너 생성


 

ApplicationContext applicationContext = new AnnotaionConfigApllicationContext(AppConfig.class);

 

  • ApplicationContext를 스프링 컨테이너라 한다. 
  • ApplicationContext는 인터페이스이다. 
  • XML 기반으로 만들 수 있고, 애노테이션 기반으로 만들 수도 있다. 

 

스프링 컨테이너 생성


 

 

    @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 RateDiscountPolicy();
    }

 

스프링 컨테이너는 파라미터로 넘어온 설정 클래스 정보를 사용해서 스프링 빈을 등록한다. 

스프링 컨테이너는 설정 정보를 참고해서 의존관계를 주입(DI)한다. 

 

스프링 컨테이너를 생성하고, 설정 정보를 참고해서 스프링 빈도 등록하고, 의존관계도 설정하는 것이다. 

 

 

 

* 인프런 '스프링 핵심 원리 -기본편' 강의를 참고하여 작성했습니다.