2011-10-26 5 views
0

私は自分のアプリケーションでspring mvc3を使用していますが、dao層ではjdbctemplateを使用したいと思いますが、コントローラにdaoを追加する場所はわかりません。例えばjdbcdaosupportをspring mvc3に統合する方法

@Controller 
public class UserController{ 
    private UserDao udao; 
    public String list(Model model){ 
    udao=new UserDaoImple(); 
    List<User> users=udao.list(); 
    model.addAttrubut('users',users); 
    return "list"; 
    } 
} 

上記のコードは一例であり、私はどこuserdaoを作成する知りたいですか?

また、jdbctemplateを使用したいので、jdbctemplateが1つのdatasoureceに対して1回だけ作成されるようにしてください。すべてのdaosを同じjdbctemplateを使用するようにするにはどうすればいいですか?

答えて

2

あなたはこの

@Autowired 
UserDao userdao; 

またはあなただけのリポジトリに行くので、あなたがリポジトリパターンを使用し、すべてのDAOのための中心点を作成することができますようにDAOを注入する春IOC(依存性注入)を使用することができますあなたが必要とするDAOを求めてください。そのため

あなたはすべてのDAOのすべてのインスタンスを持っていると尋ねられたときあなたはダオをインスタンス化する必要はありませんので、弾力が、あなたのクラスにインスタンスを与えるシングルトンクラスを作成しなければならないだけで

Repo.getUserDaoInstance(); 
行います

私の意見では、Springのアプローチでは、非常に有用なスキルを学び、自分が何をしているのかを知ったときに維持するのがずっと簡単です。

+0

@ Autowiredを使用する場合、作成されるuserdaoの数はいくつですか?そして、jdbctemplateインスタンスはどうですか? – hguser

+0

AutoWired Springを使用すると、1つのインスタンスしか作成されず、それを要求するクラスに渡されます。しかし、それが動作するためにはいくつかのものを設定する必要があることを覚えておいてください。そこにautowiredだけでなく完了しているだけではありません。 –

関連する問題