@コンポーネント:@コントローラ@リポジトリ@サービス
はすべて Bean
Bean
@Componentは最も多用途です
@Component
@Service、@Repository も @Service,@Repository也是@Component ですが、コードを読みやすくするために異なるセマンティクスが与えられています。実際、これら 3 つを何気なく使用しても問題ありません。 , Spring はエラーを報告しません。
@Service
@Repository
@Controller特別な、Spring MVC によって独占的に処理され、他の 3 つで置き換えることはできません。
@Controller
@Service はビジネス層コンポーネントに注釈を付けるために使用されます
@Controller は、コントロール層コンポーネント (スプリングのコントローラー) に注釈を付けるために使用されます
@Repository は、データ アクセス コンポーネント、つまり DAO コンポーネントに注釈を付けるために使用されます
@Component は通常、コンポーネントを分類するのが難しい場合、このアノテーションを使用してコンポーネントに注釈を付けることができます。
コントローラーでは@Controller、サービスでは@Service、daoでは@Repository、その他分かりにくいところでは@Componentを使用しています。
セマンティクスが異なるだけで、機能は同じです
効果は同じです**
これら 4 つの注釈は、マシンに対して同じ操作効果をもたらします。意味上の違いだけがあり、コードを読む人にこのクラスがどのレベルのコンポーネントであるかを知らせます
はすべて
を定義するために使用されますBean
@Component
は最も多用途です@Service
、@Repository
も@Service
,@Repository
也是@Component
ですが、コードを読みやすくするために異なるセマンティクスが与えられています。実際、これら 3 つを何気なく使用しても問題ありません。 , Spring はエラーを報告しません。@Controller
特別な、Spring MVC によって独占的に処理され、他の 3 つで置き換えることはできません。@Service はビジネス層コンポーネントに注釈を付けるために使用されます
@Controller は、コントロール層コンポーネント (スプリングのコントローラー) に注釈を付けるために使用されます
@Repository は、データ アクセス コンポーネント、つまり DAO コンポーネントに注釈を付けるために使用されます
@Component は通常、コンポーネントを分類するのが難しい場合、このアノテーションを使用してコンポーネントに注釈を付けることができます。
コントローラーでは@Controller、サービスでは@Service、daoでは@Repository、その他分かりにくいところでは@Componentを使用しています。
セマンティクスが異なるだけで、機能は同じです
効果は同じです**
これら 4 つの注釈は、マシンに対して同じ操作効果をもたらします。意味上の違いだけがあり、コードを読む人にこのクラスがどのレベルのコンポーネントであるかを知らせます