스프링 기본 - 섹션4. 스프링 컨테이너와 스프링 빈

2023. 7. 2. 23:08·CS/김영한 스프링 강의

앞의 섹션3 마지막에 @Bean으로 등록하면 스프링 실행 시 처음에 @Bean으로 등록된 모든 함수를 순회해서 등록한다고 했는데, 그 개념과 직접 확인하는 과정이다.

 

컨테이너에 이름을 키, 객체를 값으로 저장하고 ApplicationContext의 .getBean으로 가져와서 사용하는 것.

 

조회는 이름으로, 타입으로, 구체 타입으로 등 여러 방법으로 조회할 수 있다. 단지 타입으로 했을 시 겹치는게 있으면 에러 띄워서 중지하고 하는게 있음. 이런건 안겹치게 잘 하면 된다. 애초에 겹치면 이상하게 설계한거임.

상속 타입으로도 조회 가능

 

사실 지금까지 ApplicationContext로 가져온 것 또한 인터페이스로 가져온 것이었고, 스프링 컨테이너의 최상위 인터페이스는 BeanFectory. 여기에 Bean에 대한 아주 기본적인 함수들 (getBean)이 들어있고, ApplicationContext엔 추가 기능이 부여된 방식.

 

 

 

예시코드에서 MemberRepository 인터페이스를 만들고 MemoryMemberRepository, ~~~MemberRepository로 여러개를 만들어서 사용할 수 있는 것처럼, 스프링이 먼저 그렇게 만들었다. 그래서 자바의 class로도 설정 가능하고, xml로도 설정 가능하고 함. 즉, 돌아가는 구현은 알아서 하고 인터페이스만 갖다 쓰면 된다.

자세히는 파일을 읽으면 그 각각 요소들을 BeanDefinition으로 만들어서 그걸 읽어들이고 한다.

 

'CS > 김영한 스프링 강의' 카테고리의 다른 글

스프링 기본 - 섹션6. 컴포넌트 스캔  (0) 2023.07.03
스프링 기본 - 섹션5. 싱글톤 컨테이너  (0) 2023.07.03
스프링 기본 - 섹션2,3. 스프링 핵심 원리 이해 - 예제 만들기, 객체 지향 원리 적용  (0) 2023.07.02
스프링 기본 - 섹션1 객체 지향 설계와 스프링  (0) 2023.06.30
스프링 입문 - 섹션7 AOP  (0) 2023.06.29
'CS/김영한 스프링 강의' 카테고리의 다른 글
  • 스프링 기본 - 섹션6. 컴포넌트 스캔
  • 스프링 기본 - 섹션5. 싱글톤 컨테이너
  • 스프링 기본 - 섹션2,3. 스프링 핵심 원리 이해 - 예제 만들기, 객체 지향 원리 적용
  • 스프링 기본 - 섹션1 객체 지향 설계와 스프링
용나리
용나리
  • 용나리
    티스토리 블로그
    용나리
  • 전체
    오늘
    어제
    • 분류 전체보기 (333)
      • 과거의 것들 (93)
        • AI Tech boostcamp (92)
      • 생각정리(고찰) (2)
      • 기술 글 (0)
      • 코딩테스트 (4)
        • C++ (0)
        • Python (4)
      • CS (121)
        • 컴퓨터 시스템 (4)
        • 코틀린 인 액션 (13)
        • 김영한 스프링 강의 (104)
      • 일지 남기기용 (11)
        • 운동 (10)
      • 개발 배포 해보기 (1)
      • 프로그래밍 언어 및 기타 (32)
        • Spring Boot (9)
        • Python (9)
        • Kotlin (1)
        • Flutter (2)
        • SQL (4)
        • Docker (3)
        • 공통 (4)
      • os (4)
        • Linux (4)
      • 기술 (17)
        • PyTorch (6)
        • Computer Vision (6)
        • NLP (1)
        • 기타 (4)
      • 제품 후기 (0)
      • 게임 (0)
        • Human Resource Machine (0)
      • 강의 (26)
        • fullstackdeeplearning_sprin.. (9)
        • 부캠 안드로이드 학습정리 (17)
      • 개인 메모 (10)
      • IT 기타 (5)
      • 논문 읽기 연습 (5)
        • Computer Vision (1)
        • NLP (0)
        • 공통 (2)
        • 그냥 메모 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파이썬 실행경로
    pip install killed
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
용나리
스프링 기본 - 섹션4. 스프링 컨테이너와 스프링 빈
상단으로

티스토리툴바