@Component

Yuno·2024년 8월 17일
0

Spring Framework 에서 사용되는 기본적인 어노테이션으로, Spring 컨테이너에 의해 관리되는 빈(Bean) 을 정의할 때 사용됨. @Component 어노테이션을 클래스에 붙이면, 해당 클래스는 Spring의 자동 스캔(auto-scanning) 매커니즘에 의해 빈으로 등록됨


📌 주요 특징

  1. 빈 등록
  • @Component 가 붙은 클래스는 Spring 컨테이너에 의해 자동으로 인식되고, 빈으로 등록됨
  1. 자동 스캔
  • Spring은 @ComponentScan 을 통해 특정 패키지 내의 모든 클래스를 스캔하고, @Component 어노테이션이 붙어있는 클래스를 빈으로 등록함
  1. 범용성
  • @Component 는 Spring에서 빈을 정의할 때 사용할 수 있는 가장 일반적인 어노테이션임. 특정 목적을 가진 빈을 정의할 때는 @Serivce, @Repository, @Controller 등의 어노테이션을 사용할 수 있지만, 모두 @Component 의 특수화된 형태임

👉 사용법

import org.springframework.stereotype.Component;

@Component
public class MyComponent {
	public void doSomething() {
    	System.out.println("Doing something...");
    }
}

@MyComponent 클래스는 @Component 어노테이션 덕분에 Spring 컨테이너에 의해 빈으로 등록됨. 이제 이 빈은 다른곳에서 @Autowired 를 통해 주입받아 사용할 수 있음


✏️ 빈의 이름 지정

기본적으로 @Component 로 등록된 빈의 이름은 클래스 이름의 첫 글자를 소문자로 변환한 것. 예를들어, MyComponent 클래스는 myComponent 라는 이름으로 빈이 등록됨. 하지만, @Component("customBeanName") 과 같이 빈의 이름을 직접 지정할 수도 있음.

@Component("customBeanName")
public class MyComponent {
}
profile
Hello World

0개의 댓글