@componentアノテーションの用途は何ですか?
どちらのアプローチも、ターゲットタイプをSpringコンテナに登録することを目的としています。違いは、@ Beanはメソッドに適用できるのに対し、@ Componentは型に適用できることです。 @ Componentはクラスレベルのアノテーションであり、@ Beanはメソッドレベルのアノテーションであり、メソッドの名前はBean名として機能します。
また、@ componentと@serviceの違いは何ですか?それらの違いは、@コンポーネントは複合クラスに注釈を付けるために使用され、@ Repositoryは永続層での自動例外変換のマーカーであり、サービス層では@serviceを使用する必要があります。詳細については、Springのドキュメントを参照してください。
簡単に言えば、@ componentの使用は何ですか?
@クラスパススキャンを使用してBeanを自動検出および自動構成するために使用されるコンポーネント。アノテーション付きクラスとBeanの間には暗黙の1対1のマッピングがあります(つまり、クラスごとに1つのBean)。 @Beanは、Springに自動的に宣言させるのではなく、単一のBeanを明示的に宣言するために使用されます。
@controllerの代わりに@componentを使用できますか?
2つの答え。 @コントローラーは、コンポーネント@(ちょうど@Service、@Repository、@Endpointなどのような)です。 @コンポーネントは、ここではメタアノテーションとして使用されているため、コンポーネントスキャンを使用して取得できます。あなたは、単にあなた自身の注釈を作成し、その上にコンポーネント@置くことによって、あなた自身@コンポーネントベースの注釈を作成することができます