私は@Service
がクラスをビジネスロジッククラスとしてマークすることを理解します。なぜそれは春に便利ですか?私は既に@Component
を使用してクラスをBeanとしてマークすることができます。私は@Service
が@Component
より具体的だと理解していますが、どうですか?スプリングサービス注釈とは何ですか?
答えて
@Service、@Controller、@Repository = {@Component +いくつかのより多くの特殊な機能}
詳細
What's the difference between @Component, @Repository & @Service annotations in Spring?
@Component注釈がマークについては、以下のリンクをクリックJavaクラスをBeanとして、 春のコンポーネント走査機構が拾い上げて、アプリケーションのコンテキストを にプルすることができます。 @Service注釈は、コンポーネント注釈の特殊化でもある です。現在のところ、 は@Componentアノテーションに対して追加の動作を提供していませんが、 サービス層 クラスで@Serviceを超える@Serviceを使用することをお勧めします。さらに、ツールのサポート と将来の追加の動作に依存する可能性があります。
@Serviceアノテーションは、コンポーネントアノテーションの特殊化です。現在のところ、@Componentアノテーションに対する追加の動作は提供されていませんが、サービスレイヤークラスで@Serviceに@Serviceを使用することをお勧めします。さらに、ツールのサポートと追加の動作は将来的にそれに依存する可能性があります。
注釈をスイスナイフとしてください。それは同様に、コンポーネントは、ビジネスロジッククラスとして、またはコントローラなど、リポジトリとして働くことができる
等、鋏のように、オープナーとして、ナイフを切断するように作用することができます。
@Service
は、@Component
のナイフのバージョンのうちの1つです。
スプリングプロセス@Service
@Component
に似ています。@Service
インターフェイス自体に@Component
という注釈が付けられています。春のドキュメントから
:
@Target(value=TYPE) @Retention(value=RUNTIME) @Documented @Component public @interface Service
は注釈付きクラスは、「サービス」(例えば、ビジネス サービス・ファサード)であることを示します。
なぜ両者を区別するのですか?
プログラミングの基本的なルールを適用するには:コードを簡単に読み取る必要があります。
はい、あなたはどこにでも@Component
アノテーションを使用することができますし、それが正常に動作しますが、コードをよりよく理解するために、私たちの場合は@Service
のような注釈のそれぞれの特殊なタイプを使用することが好ましいです。
その他の利点は、デバッグが容易であることです。エラーを知ったら、コンポーネントクラスからサービスクラス、リポジトリクラス、コントローラクラスのどれかを確認する必要はありません。
同様または同一ですか? – webpersistence
'@ Component'を処理する方法とまったく同じです。 –
- 1. @codeのJava注釈は何ですか
- 2. HardCoded注釈は何ですか?
- 3. Jerseyの@ManagedAsync注釈は何ですか?
- 4. デフォルトの注釈プロセッサの検出プロセスとは何ですか?
- 5. 注釈とリソースと自動注釈付き注釈
- 6. ロンボクの注釈の優先順位は何ですか?
- 7. 注釈インタフェースの目的は何ですか?
- 8. Javaコードの@param注釈の目的は何ですか?
- 9. 「Key」データ注釈は、データベースで最初に何をしますか?
- 10. JUnit 5の目的は何ですか@ネストされた注釈
- 11. javaクラスが注入可能な正しい注釈は何ですか?
- 12. コンストラクタによる注入とGuiceによるフィールド注釈による注入の違いは何ですか?
- 13. 春のブートストラップクラスを注釈と注釈私は、次のような何かをしたい他の場所
- 14. @JsonIgnoreのプロパティと注釈のないプロパティの違いは何ですか?
- 15. Watsonナレッジスタジオでの注釈の種類と注釈
- 16. 注釈注入とXML注入
- 17. は@Override注釈
- 18. プロデューサーは、注釈
- 19. 3D注釈とPdfLayer
- 20. PoEditとPHP注釈
- 21. Shiro注釈春と
- 22. 春とJsonTypeInfo注釈
- 23. @WebServiceと@Transactional注釈
- 24. scala RESTサービスでpathPrefixを定義するとき、 '〜'記号は何の注釈ですか? 「〜」記号は何
- 25. クラスタ注釈からすべての注釈をループしたい
- 26. 使用する注釈(または他のオブジェクト)のタイプは何ですか?
- 27. Spring mvc注釈検証のカスタム注釈
- 28. JPA 2.0フィールド注釈対メソッド注釈
- 29. Morris.jsに注釈/注釈を追加
- 30. 注釈タイプパラメータJavaでは
私は '@ Component'を使うことができますが、' @Service'はより良いインテントを指定していると思います。両方の作品。 –
@Serviceが別の方法で処理されているとわかりません – webpersistence
参照:[Springのコンポーネント、リポジトリとサービスアノテーションの違いは何ですか?](https://stackoverflow.com/questions/6827752/whats-the-difference-between- component-repository-service-annotations-in) – Jesper