장성호's
장성호's blog
장성호's
  • 분류 전체보기
    • 알고리즘
      • 백준
      • 이론
    • WEB
      • Spring 인강
      • 네트워크
    • 개인 프로젝트
      • 쇼핑몰 만들기

블로그 메뉴

  • 홈
  • 깃허브
전체 방문자
오늘
어제
반응형
hELLO · Designed By 정상우.
장성호's

장성호's blog

[Spring] 스프링 공부 #10
WEB/Spring 인강

[Spring] 스프링 공부 #10

2022. 1. 25. 01:19
반응형

 

 

 

 

예제를 스프링 기반으로 변경

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이 붙은 메서드의 명을 스프링 빈의 이름으로 사용한다. 

스프링 컨테이너 생성 과정

  1. 스프링 컨테이너 생성
  2. 스프링 빈 등록
  3. AppConfig 클래스를 사용해서 스프링 빈 저장소에 스프링 빈을 등록한다.

  4. 스프링 빈 의존관계 설정
  5. 스프링 컨테이너 설정 정보를 참고해서 의존관계를 주입한다.

 

출처

[인프런] 스프링 핵심 원리 - 기본편

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard

 

스프링 핵심 원리 - 기본편 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢

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
    'WEB/Spring 인강' 카테고리의 다른 글
    • [Spring] 스프링 공부 #12
    • [Spring] 스프링 공부 #11
    • [Spring] 스프링 공부 #9
    • [Spring] 스프링 공부 #8
    장성호's
    장성호's
    장성호's 개발 공부 블로그

    티스토리툴바