[1] Componset Scanning
(1) Componset Scanning 정의
패키지 내의 모든 클래스를 읽어서 set에 저장하여
패키지 내에 @Component 붙은 클래스를 찾아 객체를 생성하여 map에 저장한다.
개발자마다 config.txt 파일을 생성해서 계속 추가할수는 없으니
보통 공통으로 사용하는 객체에 만들고 본인의 객체는 객체컨테이너에 넣어둔다
둘다 혼용하여 사용한다
(2) Componset Scanning 설정하기
Componset Scanning 방법을 사용하려면 구아바 라이브러리를 사용한다
https://mvnrepository.com/artifact/com.google.guava/guava/32.0.1-jre
pom.xml 파일 내에 라이브러리를 추가한 후 maven 업데이트를 한다
[2] 객체자동등록
(1) @Component 특징
<componetn-scan>으로 @Component가 클래스를 자동으로 검색하여 bean으로 등록한다.
검색할 범위를 지정한다
map에 저장시 key는 Car -> car , SportsCar -> sportsCar 로 대문자->소문자로 저장한다
@Controller , @Service, @Repository , @ControllerAdvice의 메타 애너테이션 은 @Componet가 자동으로 들어가있기 때문에
<Componet- scan>으로 검색하면 메타애너테이션도 같이 불러와진다
(2) @Component 사용법
- 클래스 앞에 @Component 를 붙인다
- 생략가능하다
(3) @Component 적용하기
객체 컨테이너를 만든다
객체 컨테이너 내부에 @Component를 가진 클래스를 찾는 메서드를 만든다.
① by Name 객체 찾는 방법(key)
클래스의 key 출력
② 방법 : by Type 을 통해 객체 찾기 설정 (value)
'🌈 백엔드 > 스프링 프레임워크' 카테고리의 다른 글
스프링_외부파일 XML의 <property> (0) | 2023.09.01 |
---|---|
객체자동등록 후 객체자동연결 @Autowired / @ Resource (0) | 2023.09.01 |
ApplicationContext 객체 컨테이너 생성하기 (0) | 2023.09.01 |
스프링_외부파일 properties 연결 (feat, @Value) (0) | 2023.09.01 |
스프링_OOP 5대 설계원칙 - S O L I D (0) | 2023.08.12 |