해당 포스팅은 김영한 님의 인프런 강의 "스프링 핵심 원리 - 기본편" 을 통해 얻은 지식을 정리한 자료 입니다.
[참고 자료]
<AppConfig.java>
클래스에 "@Configuration" 어노테이션,
각 메서드에 "@Bean" 어노테이션 을 부착한다.
스프링 컨테이너에 등록하기 위함이다.
<MemberApp.java>
스프링 컨테이너에서 필요한 것을 꺼내기 위해,
applicationContext.getBean([메소드 이름], [반환 타입])
<MemberApp.java 실행시 로그>
(위의 5가지는 스프링을 사용하기 위해, 스프링 자체적으로 등록하는 싱글톤 Bean 이다.)
아래 5가지는 위 부터 순서대로,
@Configuration , @Bean 을 통해 스프링 컨테이너에 등록 한다.
1. AnnotationConfigApplicationContext 를 통해 AppConfig에 있는 @Configration 과 @Bean을 스프링 컨테이너에 등록한다.
2. .getBean을 통해 "memberService" 란 이름을 가지고, type 이 MemberService.class 인 것을 스프링 컨테이너에서 가져온다.
결론
기존에는 개발자가 직접 AppConfig 를 통해서, 직접 객체를 생성하고 의존성 주입 (DI) 를 해주었다.
(개발자가 직접 JAVA 코드로 모든 것을 다함.)
▼
Spring 사용!
▼
@Configuration, @Bean이 붙은 메서드를 모두 호출하여 반환된 객체를 스프링 컨테이너에 등록한다.
(스프링 컨테이너에 등록된 객체를 스프링 빈이라고 한다. 스프링 빈의 이름은 해당 메서드의 이름으로 한다.)
스프링 빈으로 등록된 객체를 호출하기 위해,
.getBean()을 통해 필요한 객체를 반환 받아서 사용한다.
(스프링 컨테이너에 객체를 스프링 빈으로 등록하고, 필요한 객체를 스프링 컨테이너에서 스프링 빈을 찾아서 사용.)
'Spring' 카테고리의 다른 글
[Spring] ComponentScan (컴포넌트 스캔) (0) | 2023.11.18 |
---|---|
[Spring] 싱글톤(Singleton) 과 스프링 컨테이너 (0) | 2023.11.12 |
[Spring] 스프링 빈 생성과정 / 스프링 빈 구성 정보 파일 지원 과정 (0) | 2023.11.10 |
[Spring] 스프링 빈 조회 테스트(이름 / 타입 / 중복 조회) (0) | 2023.11.07 |
[Spring] 'IoC', 'DI', 'Spring Container' (0) | 2023.11.05 |