복습
스프링 컨테이너 설정 - 자바 코드, XML / 스프링 빈 메타 정보BeanDefinition 본문
Spring뿌시기/3주차 - 스프링 핵심 원리 기본편 2
스프링 컨테이너 설정 - 자바 코드, XML / 스프링 빈 메타 정보BeanDefinition
ykm1256 2022. 10. 19. 20:28다양한 설정 형식 지원
- 스프링 컨테이너는 다양한 형식의 설정 정보를 받아드릴 수 있도록 유연하게 설계되어 있음
- 자바 코드, XML, Groovy 등
애노테이션 기반 자바 코드 설정
- new AnnotationConfigApplicationContext(AppConfig.class)
- 자바 코드로 작성한 설정 정보인 AppConfig 클래스를 파라미터로 넘겨준다.
XML 설정 사용
- 최근에는 스프링 부트를 많이 사용하면서 XML 기반의 설정은 잘 사용하지 않음
- GenericXmlApplicationContext를 사용하여 xml 설정 파일을 파라미터로 넘겨준다.
<bean id="memberService" class="hello.core.member.MemberServiceImpl">
<constructor-arg name="memberRepository" ref="memberRepository" />
</bean>
<bean id="memberRepository" class="hello.core.member.MemoryMemberRepository" />
- AppConfig에서 작성한 자바 코드와 아주 유사
- bean 태그를 이용하여 등록하고, constructor 태그를 이용하여 생성자의 파라미터를 지정
BeanDefinition
- BeanDefinition이라는 추상화를 통해 다양한 설정 형식(자바 코드, xml 등) 지원
- 쉽게 말해 역할과 구현을 개념적으로 나눈 것
- XML을 읽어서 BeanDefinition 생성
- 자바 코드를 읽어서 BeanDefinition 생성
- 스프링 컨테이너는 자바 코드인지 XML인지 몰라도 되며, BeanDefinition만 알면 된다.
- BeanDefinition을 빈 설정 메타 정보라 한다.
- 스프링 컨테이너는 메타 정보를 기반으로 스프링 빈 생성
스프링은 다양한 형태의 설정 정보를 BeanDefinition으로 추상화하여 사용한다.
출처
스프링 핵심 원리 - 기본편 - 인프런 | 강의
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런...
www.inflearn.com
'Spring뿌시기 > 3주차 - 스프링 핵심 원리 기본편 2' 카테고리의 다른 글
싱글톤 컨테이너 - @Configuration과 싱글톤 (0) | 2022.10.24 |
---|---|
싱글톤 컨테이너 - 싱글톤 컨테이너 (0) | 2022.10.24 |
싱글톤 컨테이너 - 싱글톤 패턴 (0) | 2022.10.24 |
BeanFactory와 ApplicationContext (0) | 2022.10.19 |
스프링 컨테이너, 스프링 빈 (0) | 2022.10.19 |