2

私のアプリケーションでは、Spring3 MVC フレームワークを使用しています。TestDAO2.java クラスで宣言されているメソッド getArticleList() が必要な DAO クラス TestDAO1.java があります。

私の知る限り、サービス レイヤー オブジェクトをコントローラーに、DAO をサービス レイヤーに挿入できます。しかし、DAO オブジェクトを DAO クラスに注入できますか?

ここでは、TestDAO2 クラス オブジェクトを TestDAO1.java クラスにインジェクトします。したがって、 getArticleList() メソッドを使用できます。どうすればできますか?

DAO を DAO に注入するのは正しい方法または標準ですか?

4

1 に答える 1

6

ここでは、TestDAO2 クラス オブジェクトを TestDAO1.java クラスにインジェクトします。したがって、 getArticleList() メソッドを使用できます。どうすればできますか?

コントローラーに注入するのと同じ方法-たとえば、@Autowired注釈を使用:

public class TestDAO2 {
    @Autowired private TestDAO1 dao1;
    ....

注入されたオブジェクトがサービスであるか別の DAO であるかに違いはありません。

DAO を DAO に注入するのは正しい方法または標準ですか?

一般的に:いいえ。この状況は、モデルまたは DAO に設計上の問題がある可能性があることを示しています。おそらくあなたTestDAO1はやりすぎですか?この機能を両方の DAO を使用するサービスに移動してみてください。

于 2013-03-16T05:39:27.767 に答える