Home [Spring] 1.10. Classpath Scanning and Managed Components

[Spring] 1.10. Classpath Scanning and Managed Components

1.10. Classpath Scanning and Managed Components

Most examples in this chapter use XML to specify the configuration metadata that produces each BeanDefinition within the Spring container. The previous section (Annotation-based Container Configuration) demonstrates how to provide a lot of the configuration metadata through source-level annotations. Even in those examples, however, the “base” bean definitions are explicitly defined in the XML file, while the annotations drive only the dependency injection. This section describes an option for implicitly detecting the candidate components by scanning the classpath. Candidate components are classes that match against a filter criteria and have a corresponding bean definition registered with the container. This removes the need to use XML to perform bean registration. Instead, you can use annotations (for example, @Component), AspectJ type expressions, or your own custom filter criteria to select which classes have bean definitions registered with the container.

  • 이 장의 대부분의 예는 XML을 사용하여 스프링 컨테이너 내에서 각 BeanDefinition을 생성하는 구성 메타데이터를 지정한다.
  • 이전 섹션은 소스 레벨 annotations을 통해 많은 구성 메타데이터를 제공하는 방법을 보여준다.
  • 그러나 이러한 예에서도 “기본” bean 정의는 XML 파일에 명시적으로 정의되어 있는 반면 annotations은 종속성 주입만 주도한다.
  • 이 절에서는 classpath를 스캔하여 후보 components를 암시적으로 탐지하는 옵션에 대해 설명한다.
  • 후보 components는 필터 기준에 부합하고 해당 bean 정의가 컨테이너에 등록되어 있는 classes이다.
  • 이를 통해 bean 등록을 수행하기 위해 XML을 사용할 필요가 없어졌다.
  • 대신 annotations(예: @Component), AspectJ type expressions 또는 사용자 정의 필터 기준을 사용하여 container에 등록된 bean 정의를 포함하는 클래스를 선택할 수 있다.

Starting with Spring 3.0, many features provided by the Spring JavaConfig project are part of the core Spring Framework. This allows you to define beans using Java rather than using the traditional XML files. Take a look at the @Configuration, @Bean, @Import, and @DependsOn annotations for examples of how to use these new features.

  • Spring 3.0을 시작으로, Spring JavaConfig 프로젝트에서 제공하는 많은 기능들이 Spring Framework core의 일부분이다.
  • 이를 통해 기존의 XML 파일을 사용하는 대신 자바를 사용하여 bean을 정의할 수 있다.
  • 이러한 새로운 기능을 사용하는 방법에 대한 예는 @Configuration, @Bean, @Import@DependenceOn annotations을 참조하자.



This post is licensed under CC BY 4.0 by the author.

[Spring] Core Technologies

[Spring] 1.10.1. @Component and Further Stereotype Annotations