@service
をサービスインプリメンテーションに、@repository
をDAO実装に使用する必要があるのはなぜですか?春のMVCで@service
と@repository
アノテーションを交換すると問題はありません。春のMVCで@serviceと@repositoryの注釈を交換するとどうなるでしょう
答えて
documentaion@Repository
,,@Controller
はすべて同義語です。それらはすべて、@Component
注釈の専門です。だから、一般的に、彼らは他の1つのisteadを使用することができます。しかし...あなたはこれをしてはいけません。
第1の理由:この注釈のいずれかは、アプリケーション内のコンポーネントの役割を明確にします。このコンポーネントはコントローラ、サービス、またはデータレイヤに属しているかどうかを示します。
第2の理由:この注釈のいくつかは、異なるSpringモジュールによって異なる方法で処理されます。たとえば、Spring Data JPA
は@Repository
を処理し、この注釈でマークされたインターフェイスを実装に置き換えようとします。 Springはまた、そのようなクラスに対して自動例外翻訳を適用します。別の例では、Spring Web MVC
のプロセス@Controller
を使用し、URLマッピングでそのクラスでマークされたクラスを使用します。
実際、将来のバージョンでは、Springの一部のモジュールでは特別な方法で@Service
を処理できます。単純ではない@Component
。
@Repository、@Service、および@Controllerは Springフレームワークの将来のリリースで追加のセマンティクスを運ぶことも可能である:ドキュメントのアドバイスが理由です。 したがって、サービス層である の@Componentと@Serviceのどちらを使用するかを選択する場合は、@Serviceが明らかに適しています。
フレームワークの残りの部分で使用する内容によって異なります。理論的には、@Service
と@Repository
注釈は基本的に@Component
注釈であるため、何も変わりません。同じことが@Controller
または@Endpoint
(Spring Wsの場合は、さらにあります)について言えます。
しかし、クラス(サービス、リポジトリ)の意図を表し、そのクラスがどのレイヤーに属するかをユーザーに明確にします。
ただし、トランザクション管理にSpringを使用している場合は、@Repository
もそのクラスのadding exception translationのトリガーになります(reference guideも参照)。
にはがありませんが、それはおそらくいつかなります。
- 1. 春の注釈:@Repositoryや@ServiceのステレオタイプのControllerステレオタイプで使用される@ExceptionHandlerのような類似の注釈がありますか?
- 2. 春とJsonTypeInfo注釈
- 3. Shiro注釈春と
- 4. はこの春MVCコントローラを考えてみましょうSpring MVCの注釈ベースのコントローラに問題があることを狭めると
- 5. MyBatisの - どのようにマッピングファイルを取り除くと、ちょうど注釈
- 6. 春のmvcで注釈ベースのコントローラの依存性注入
- 7. MVCデータの注釈とテンプレート
- 8. 春メタ注釈
- 9. kotlinの@Autowiredのような春の注釈の使い方は?
- 10. 春の注釈 - 注釈に関する文書を取得しています
- 11. 春の継承 - 注釈
- 12. 春のセキュリティHTTPベーシック - 注釈
- 13. Spring mvc注釈検証のカスタム注釈
- 14. JavaScriptの注入とは何ですか?ソフトウェアテストでどのように使用できるのでしょうか?
- 15. 注釈付きクラスは春
- 16. 春@Configurationファイルが@value注釈
- 17. 注釈を付ける春のない休止状態
- 18. 注釈とリソースと自動注釈付き注釈
- 19. パラメータなしで注釈を見つける正規表現は何でしょうか?
- 20. 春の式の評価(注釈)
- 21. 春の注釈スキャンの最適化
- 22. mysqli_real_escape_stringと\ nlをどうやって交換できますか?
- 23. 注釈を使用したときのSpring MVC BindingResultのモーグ
- 24. 注釈のないASP MVCの使用
- 25. さんと交流しましょう。コメントプラグイン。ダークスキームスタイルの問題
- 26. 春:セキュリティの注釈同等:認証マネージャとセキュリティ:グローバル・メソッド・セキュリティ
- 27. 春の自動配線と注釈設定
- 28. 注釈のSpring MVC isFormSubmission()は同等ですか? Spring MVCので
- 29. どのようにユニットテストデータ注釈バリへ
- 30. ランダムレコードを選択するときに同じ行を選択しないとどうなるでしょうか
これはおそらくあなたの取引を台無しにするでしょう。サービスは、DAOに伝播が必要なトランザクションを渡す必要があります。どちらもコンポーネントなので、Beanの作成は問題にはなりません。 – TheLostMind