検索

ホームページ  >  に質問  >  本文

Java におけるこれら 4 つのアノテーションの違いは何ですか?なぜプロジェクトにそれらが混在しているのでしょうか?

@コンポーネント:
@コントローラ
@リポジトリ
@サービス

曾经蜡笔没有小新曾经蜡笔没有小新2775日前596

全員に返信(6)返信します

  • 世界只因有你

    世界只因有你2017-05-17 10:02:19

    はすべて Bean

    を定義するために使用されます
    • @Componentは最も多用途です

    • @Service@Repository@Service@Repository也是@Component ですが、コードを読みやすくするために異なるセマンティクスが与えられています。実際、これら 3 つを何気なく使用しても問題ありません。 , Spring はエラーを報告しません。

    • @Controller特別な、Spring MVC によって独占的に処理され、他の 3 つで置き換えることはできません。

    返事
    0
  • 阿神

    阿神2017-05-17 10:02:19

    @Service はビジネス層コンポーネントに注釈を付けるために使用されます

    @Controller は、コントロール層コンポーネント (スプリングのコントローラー) に注釈を付けるために使用されます

    @Repository は、データ アクセス コンポーネント、つまり DAO コンポーネントに注釈を付けるために使用されます

    @Component は通常、コンポーネントを分類するのが難しい場合、このアノテーションを使用してコンポーネントに注釈を付けることができます。

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-17 10:02:19

    コントローラーでは@Controller、サービスでは@Service、daoでは@Repository、その他分かりにくいところでは@Componentを使用しています。

    返事
    0
  • 滿天的星座

    滿天的星座2017-05-17 10:02:19

    セマンティクスが異なるだけで、機能は同じです

    返事
    0
  • 某草草

    某草草2017-05-17 10:02:19

    効果は同じです**

    返事
    0
  • 習慣沉默

    習慣沉默2017-05-17 10:02:19

    これら 4 つの注釈は、マシンに対して同じ操作効果をもたらします。意味上の違いだけがあり、コードを読む人にこのクラスがどのレベルのコンポーネントであるかを知らせます

    返事
    0
  • キャンセル返事