프로그래밍/Spring

Spring Framework의 @Component 어노테이션

JBisCode 2024. 2. 26. 22:14

스프링 프레임워크의 스테레오타입 어노테이션 이해하기

스테레오타입 어노테이션은 SpringFramework에서 제공하는 기능으로, 클래스를 특정 목적에 따라 분류하는 역할을 한다. 이를 통해 Spring은 클래스를 더 쉽게 관리하고, 개발자는 더 쉽게 코드를 작성하고 이해할 수 있다.

스테레오타입 어노테이션에는 크게 @Component, @Service, @Repository, @Controller가 있다. 각각의 어노테이션은 해당 클래스가 어떤 역할을 하는지 명시적으로 알려주는 역할을 한다.

스테레오타입 어노테이션의 역할

스테레오타입 어노테이션은 스프링의 컴포넌트 스캔 기능에서 사용된다. 이 어노테이션을 사용하면 스프링 컨테이너가 해당 클래스를 빈으로 자동 등록한다. 이는 개발자가 XML이나 자바 설정 파일에서 빈을 직접 등록하는 수고를 덜어준다.
이렇게 등록된 Bean은 Spring IoC 컨테이너에서 관리되며, 이를 통해 의존성 주입(Dependency Injection) 등의 기능을 사용할 수 있다.

스테레오타입 어노테이션 종류

스프링에서 제공하는 주요 스테레오타입 어노테이션에는 @Component, @Service, @Repository, @Controller 등이 있다.

  1. @Component
    @Component는 가장 기본적인 스테레오타입 어노테이션으로, Spring이 관리하는 Bean을 선언할 때 사용한다. 이 어노테이션을 사용하면 Spring이 해당 클래스를 자동으로 Bean으로 등록하고, 필요할 때마다 인스턴스를 생성해준다.
  1. @Service
    @Service 어노테이션은 비즈니스 로직을 처리하는 서비스 레이어 클래스에 사용한다. @Service@Component를 상속받으며, 비즈니스 로직을 가진 클래스임을 명시적으로 표현한다.
  1. @Repository
    @Repository 어노테이션은 데이터베이스 연동을 처리하는 DAO(Data Access Object) 클래스에 사용한다. @Repository@Component를 상속받으며, 데이터베이스 접근 클래스임을 명시적으로 표현한다.
  1. @Controller
    마지막으로, @Controller 어노테이션은 웹 요청을 처리하는 컨트롤러 클래스에 사용한다. @Controller@Component를 상속받으며, 웹 요청을 처리하는 클래스임을 명시적으로 표현한다.

스테레오타입 어노테이션 사용 예시

@Component
public class MyComponent {
    //...
}

@Service
public class MyService {
    //...
}

@Repository
public class MyDAO {
    //...
}

@Controller
public class MyController {
    //...
}

위의 코드에서 볼 수 있듯이, 각 클래스 위에 적절한 스테레오타입 어노테이션을 붙여주면 된다. 이렇게 하면 Spring은 해당 클래스를 자동으로 관리하게 되며, 개발자는 클래스의 역할을 쉽게 파악할 수 있다.

 


 

스프링 프레임워크를 사용하면서 스테레오타입 어노테이션의 편리함을 느낄 수 있었다. 이 어노테이션들을 통해 개발자는 빈을 쉽게 등록하고 관리할 수 있으며, 이로 인해 개발 속도를 높일 수 있다. 이번 기회에 스테레오타입 어노테이션에 대해 다시 한번 정리하고 넘어갈 수 있어 좋았다.