* 인프런 김영한님의 '스프링 입문' 강의를 듣고 작성한 내용입니다! (https://inf.run/txXC)
스프링 빈을 등록하는 2가지 방법
1. 컴포넌트 스캔과 자동 의존 관계 설정
- Constructor에 @Autowired를 사용하면 객체 생성 시점에 스프링 컨테이너에서 해당 스프링 빈을 찾아서 주입한다 (스프링이 스프링 컨테이너에 있는 MemberRepository를 가져다가 연결시킨다)
- Constructor가 1개이면 @Autowired를 생략가능하다
2. 자바코드로 직접 스프링 빈 등록하기
* 참고로 스프링은 스프링 컨테이너에 스프링 빈을 등록할 때, 기본으로 싱글톤으로 등록한다 (유일하게 하나만 등록해서 공유)
* 같은 스프링 빈이면 모두 같은 인스턴스이다
* 주로 정형화된 Controller, Repository, Service는 1번 방식을 사용한다
* 정형화 되지 않거나 상황에 따라 구현이 변하는 것은 2번을 통해 스프링 빈으로 등록한다
* @Autowired를 통한 DI는 스프링이 관리하는 객체에서만 동작한다. 스프링 빈으로 등록하지 않고 내가 직접 생성한 객체에서는 동작하지 않는다
'개발 > Spring' 카테고리의 다른 글
[스프링 입문] 스프링 회원관리 예제 - 7. 스프링 DB 접근 기술 (0) | 2021.06.30 |
---|---|
[스프링 입문] 스프링 회원관리 예제 - 6. 웹 MVC 개발 (0) | 2021.06.30 |
[스프링 입문] 스프링 회원관리 예제 - 4. 회원 서비스 개발 및 테스트 (0) | 2021.06.29 |
[스프링 입문] 스프링 회원관리 예제 - 3. 회원 레포지토리 테스트 케이스 작성 (0) | 2021.06.29 |
[스프링 입문] 스프링 회원관리 예제 - 2. 회원 도메인, 레포지토리 만들기 (0) | 2021.06.29 |