스프링 프레임워크에서는 컴포넌트 스캔(Component Scan)을 통해 애플리케이션에서 사용할 빈(Bean)을 자동으로 검색하고 등록할 수 있습니다. 스프링 컴포넌트 스캔 설정에 대해 알아보고, 실제 예시를 통해 설명하겠습니다.
컴포넌트 스캔 설정 방법
스프링에서 컴포넌트 스캔을 활용하기 위해서는 다음과 같은 설정이 필요합니다.
@ComponentScan 어노테이션 사용
@ComponentScan 어노테이션은 컴포넌트 스캔을 수행하는 주요 어노테이션입니다. 이 어노테이션은 설정 클래스에 추가되며, 스캔할 패키지를 지정합니다.
@Configuration
@ComponentScan("com.example")
public class AppConfig {
// 설정 내용
}
위 예시에서는 com.example 패키지를 스캔하여 빈을 등록합니다.
@Component 어노테이션 사용
컴포넌트 스캔 대상 클래스는 @Component 어노테이션으로 표시합니다. 이 어노테이션은 해당 클래스를 스프링의 빈으로 등록하도록 지정합니다.
@Component
public class MyComponent {
// 컴포넌트 내용
}
위 예시에서는 MyComponent 클래스가 스프링 빈으로 등록됩니다.
컴포넌트 스캔의 활용
컴포넌트 스캔은 애플리케이션의 개발 생산성을 향상시키고 중복된 설정 코드를 줄일 수 있는 장점이 있습니다. 예를 들어, 컨트롤러, 서비스, 리포지토리 등의 다양한 계층으로 구성된 애플리케이션에서 각 계층의 클래스를 @Component 어노테이션으로 표시하고, 컴포넌트 스캔을 설정하면 자동으로 해당 계층의 빈을 등록할 수 있습니다.
@Controller
public class MyController {
// 컨트롤러 내용
}
@Service
public class MyService {
// 서비스 내용
}
@Repository
public class MyRepository {
// 리포지토리 내용
}
위 예시에서는 @Controller, @Service, @Repository 어노테이션을 사용하여 각각 컨트롤러, 서비스, 리포지토리를 표시합니다. 컴포넌트 스캔이 설정된 경우, 이러한 클래스들은 자동으로 빈으로 등록됩니다.
결론
스프링의 컴포넌트 스캔은 애플리케이션에서 사용할 빈을 자동으로 검색하고 등록하는 기능을 제공합니다. @ComponentScan 어노테이션을 사용하여 스캔할 패키지를 지정하고, @Component 어노테이션을 사용하여 빈으로 등록할 클래스를 표시합니다. 이를 통해 개발 생산성을 높이고 중복된 설정 코드를 줄일 수 있습니다.
'IT > spring' 카테고리의 다른 글
스프링 @Qualifier (0) | 2023.06.15 |
---|---|
스프링 의존성 주입(Dependency Injection) 설정 (0) | 2023.06.15 |
스프링 properties 타입 매핑 (0) | 2023.06.14 |
스프링 Map 타입 매핑 (0) | 2023.06.14 |
스프링 Set 타입 매핑(Set Type Mapping) (0) | 2023.06.14 |
댓글