JAVA/SPRING

[SPRING] @Component 사용해서 Bean으로 등록해보자

gracelove91 2019. 8. 3. 00:21

AnnotatedHello 에 @Component 어노테이션을 달았다.

빈 스캐너를 통해 해당 클래스를 빈으로 등록해보자

AnnotationConfigApplicationContext()는 빈 스캐너를 내장하고 있는 어플리케이션컨텍스트 구현 클래스다.

인자값에 검색을 시작할 패키지 위치를 지정해준다 AnnotationConfigApplicationContext("chap01").

그럼 빈 스캐너는 chap01 패키지에서와 서브패키지의 클래스 중 @Component가 붙은 클래스를 모두 찾아 빈으로 등록한다.

 

빈으로 등록되기 위해선 빈의 아이디와 클래스이름이 제공되어야한다.

클래스이름은 간단히 가져올 수 있고, (@Component가 달린 클래스)

빈의 아이디는 해당 클래스의 앞글자를 소문자로 바꾼 클래스명과 같다. (annotatedHello)

 

 

만약 같은 이름의 빈을 갖고있을 수도 있다거나 좀 더 의미있는 이름을 짓고 싶다면 다음과 같이 설정하면 된다.

@Component 인자값에 내가 원하는 이름을 넣으면 해당 값으로 빈의 아이디가 설정된다.