일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 금감원 백내장 민원
- 백내장 다초점렌즈 삽입술
- 코드스테이츠 합격
- 백준 알고리즘
- 금감원
- Gamsgo
- 코드스테이츠 부트캠프
- Java
- 메서드
- 코드스테이츠 백엔드 교육과정
- 코드 스테이츠 백엔드 교육과정
- codestates 국비지원 1기 합격 후기
- 금융감독원
- 코드스테이츠 백엔드 부트캠프 합격
- 코테 합격후기
- 코드스테이츠 합격 후기
- 코드스테이츠 부트캠프 합격 후기
- 자바
- 코드스테이츠 백엔드 후기
- 해시
- 에이치엘비
- Spring
- Code States 백엔드 합격 후기
- 백내장 금감원
- 겜스고
- 금융감독원 민원신청
- HLB
- 보험금 지급거절
- CodeState 후기
- 백내장
Archives
- Today
- Total
개발하는 동그리
[Spring] 컴포넌트 스캔 본문
반응형
컴포넌트 스캔 (ComponentScan) - 자동 등록
- 등록할 스프링 빈이 너무 많을 때 @Bean
- 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔 기능 제공
- 의존관계를 자동으로 주입하는 @Autowired 기능도 제공
- AppConfig에 @Bean ( 설정정보, 의존관계 )을 등록하지 않는다..
- @ComponentScan은 전체적으로 스캔을 해서 @Component 애너테이션이 붙은 클래스를 다 자동으로 스프링 빈으로 등록해준다.
- ComponentScan을 사용할 경우 자동으로 빈 등록은 가능하지만, 의존관계 주입할 수가 없다. ⭐⭐⭐⭐⭐
- 그래서 생성자에 @Autowired를 붙여서 의존관계를 주입해준다.
- 이때 메서드 명의 맨 앞글자는 소문자로 들어간다.
- Autowired를 지정하면 스프링 컨테이너 내부에서 같은 타입을 조회하고 해당 스프링 빈을 주입해준다.
컴포넌트 스캔 기능
- basePackages = "경로" : 하위에 있는 모든 Component 조회
- 탐색 위치를 지정하지 않으면 default 값은 ComponentScan을 입력된 클래스의 패키지가 시작 위치가 된다.
- 프로젝트 최상단에 두면 해결된다.
- excludeFilters = 제외하고 싶은 class 입력
컴포넌트스캔 기본 대상
- @Component
- @Controller
- @Service
- @Repository
- @Configuration
컴포넌트 스캔에서 중복 시
- 자동 빈 등록 vs 자동 빈 등록 : ConflitingBeanDefinitionException 오류 발생
- 수동 빈 등록 vs 자동 빈 등록 : 수동 빈이 자동 빈을 오버 라이딩해서 우선시된다.
반응형
'IT 정보 > Spring' 카테고리의 다른 글
[Spring] Spring MVC - 데이터 엑세스 계층(1) JDBC (15) | 2022.06.30 |
---|---|
[Spring] AOP 기본 개념 (47) | 2022.06.21 |
[Spring] 스프링 컨테이너와 빈 ( 생성, 등록, 조회 ) (44) | 2022.06.17 |
[Spring] Bean Scope (Singleton pattern) (43) | 2022.06.16 |
[Spring] 스프링 컨테이너 (11) | 2022.06.16 |