SpringBootの@Componentとは?
まずは、公式Javadocを見てみます。
ノテーション付きクラスが「コンポーネント」であることを示します。このようなクラスは、アノテーションベースの構成およびクラスパススキャンを使用する場合の自動検出の候補と見なされます。
org.springframework.stereotype アノテーション型 Component
他のクラスレベルのアノテーションも、コンポーネント、通常は特別な種類のコンポーネントを識別するものと見なされます。@Repository アノテーションまたは AspectJ の @Aspect アノテーション。
SpringBootの@Componentの注意点は?
@Componentが付与されたクラスであっても、コンポーネントスキャン対象のパッケージ(ディレクトリ)に存在しなければ、DIコンテナに登録されません。