Developer/Spring eGov4.0 (Java11, Tomcat9)

Spring , @Component 스프링 빈 등록

단님 2024. 9. 24. 23:53
728x90
XML 파일 을 통해 컴포넌트 설정
@Component 애너테이션을 사용하여 클래스를 스프링 빈으로 등록하는 방법

 

1. XML 파일에 네임스페이스 추가하기

➡️스프링에서 XML 설정 파일을 사용할 때, 특정 태그를 사용하기 위해 네임스페이스를 정의해야함.

이 경우, context 네임스페이스가 필요

 

애너테이션 (Annotation, @) Component 를 Scan 할 패키지 정의
<context:component-scan : @Component 가 붙은 모든 클래스를 스프링빈으로 등록
<context:~~~ 는 Namespaces 에서 선택한후 사용 가능함.

Namespaces 선택
context → 알림창 OK

 

2. Component 스캔 패키지 정의하기

<context:component-scan base-package="iocDI02_anno"/>
//-> 이 패키지를 읽어서 애너테이션이 있다면 전부 한번씩 생성한다.

@Component가 붙은 클래스들을 스프링 컨테이너에서 자동으로 스캔해서 빈으로 등록하려면,

context:component-scan 태그를 사용해 패키지를 정의해야한다.

이 패키지 안의 클래스들을 스캔해서 스프링 빈으로 등록할 수 있다.

 

3. @Component("Bean_name") 설정하기

이제 XML 설정이 끝났으니, @Component 애너테이션을 클래스에 추가해서 스프링 빈으로 등록할 준비한다.

아래 예시@Component("tv") 

import org.springframework.stereotype.Component;

@Component("tv")
public class TV {
    // 클래스 구현 내용
}

이 코드는 TV 클래스를 스프링 빈으로 등록하는것.
"tv"는 스프링 빈의 이름이다.

 

➡️ 이렇게 설정을 완료하면 스프링이 자동으로 해당 클래스를 스캔하고 빈으로 등록할 수 있다.