Spring-スイープ素子
スプリングシートを登録する従来の方法は、XMLで登録するか、javaコードの@Beanを使用してプロファイルに次のようにリストします.
したがってspringはconfigクラスを必要とせずに空の素子スキャンを自動的に登録することができる.
@ComponentScan
構成部品スキャンを設定できます.
excluddeFilters:構成部品スキャンから特定の言語、クラスを除外できます.
ex)
@CompoenetScan(excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class))
basePackages:スキャンターゲットナビゲーションの開始位置を指定します.このパッケージを含むすべてのサブパッケージをスキャンします.指定されていない場合、@ComponentScan付きクラスパッケージが開始位置になります.
ex)
@ComponentScan(basePackages = "hello.core")
スプリングガイドを使用する場合、代表的な起動情報@SpringBootApplicationは通常、@ComponentScanを含むプロジェクトルートディレクトリに配置されます.したがって、設定する必要はありません.
@Component
コンポーネントスキャンでは@Component宣言付きクラスが空に登録され、クラス名の最初のアルファベットが小文字で置き換えられます.
ex) MemberRepository -> memberRepository
空の名前を指定する場合は、@Component(「空の名前」)に直接割り当てることができます.ただし、名前が空の場合は、後で登録する空に上書きされます.
以下に@Component宣言があり、スキャンの範囲内に含まれます.
@Controller
@Service
@Repository
@Configuration
ソース
Infolearn金英漢先生、スプリングコア原理-基本編
@Configuration
public class AppConfig {
@Bean
public aRepository aRepository() {
return new ARepository();
}
@Bean
public bClass bClass(){
return new BClass();
}
}
登録するスペースがいくつかない場合は、問題が大きくなり、一目で見ることができますが、何百ものスペースがある場合は、1つ1つ登録するのも1つのことで、漏れが発生することもあります.したがってspringはconfigクラスを必要とせずに空の素子スキャンを自動的に登録することができる.
@ComponentScan
構成部品スキャンを設定できます.
@Configuration
@ComponentScan
public class AutoAppConfig {
}
AutoAppConfigクラスを作成し、@Configurationと@ComponentScan宣言を貼り付けます.excluddeFilters:構成部品スキャンから特定の言語、クラスを除外できます.
ex)
@CompoenetScan(excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class))
basePackages:スキャンターゲットナビゲーションの開始位置を指定します.このパッケージを含むすべてのサブパッケージをスキャンします.指定されていない場合、@ComponentScan付きクラスパッケージが開始位置になります.
ex)
@ComponentScan(basePackages = "hello.core")
@Component
コンポーネントスキャンでは@Component宣言付きクラスが空に登録され、クラス名の最初のアルファベットが小文字で置き換えられます.
ex) MemberRepository -> memberRepository
空の名前を指定する場合は、@Component(「空の名前」)に直接割り当てることができます.ただし、名前が空の場合は、後で登録する空に上書きされます.
以下に@Component宣言があり、スキャンの範囲内に含まれます.
@Controller
@Service
@Repository
@Configuration
ソース
Infolearn金英漢先生、スプリングコア原理-基本編
Reference
この問題について(Spring-スイープ素子), 我々は、より多くの情報をここで見つけました https://velog.io/@totw5701/spring-컴포넌트-스캔Component-Scanテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol