스프링 빈을 등록하는 2가지 방법
1. 컴포넌트 스캔과 자동 의존관계 설정
2. 자바 코드로 직접 스프링 빈 등록하기
컴포넌트 스캔과 자동 의존관계 설정
1. @Component애노테이션이 있으면 스프링 빈으로 자동 등록된다.
2. @Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 때문이다.
3. @Component를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록된다.
- @Controller, @Service, @Repository
4. @ComponentScan 애노테이션이 붙은 클래스 기준으로 스캔을 하는데 동일패키지를 포함한 하위 패키지를 스캔하며, 상위패키지나 다른 패키지는 스캔하지 못한다(설정에 따라 달라짐)
※ 스프링은 스프링 컨테이너에 스프링 빈을 등록할 때, 기본으로 싱글톤으로 등록한다(유일하게 하나만 등록해서 공유한다) 따라서 같은 스프링 빈이면 모두 같은 인스턴스이다. 설정으로 싱글톤이 아니게 설정할 수 있지만, 특별한 경우를 제외하면 대부분 싱글톤을 사용한다.
'스터디-Spring' 카테고리의 다른 글
[스프링 시큐리티] 스프링 시큐리티 커스터마이징 - JPA 연동 (0) | 2022.01.07 |
---|---|
[스프링 시큐리티] 스프링 시큐리티 커스터마이징 - 인메모리 유저 추가 (0) | 2022.01.07 |
[스프링 시큐리티] 스프링 시큐리티 설정하기 (0) | 2022.01.07 |
[스프링 시큐리티] 스프링 시큐리티 연동 (0) | 2022.01.07 |
[스프링 핵심 원리 - 기본편] 스프링이란? (0) | 2021.12.28 |