0

わかりました、私はウェブアプリを設計しています。コントローラーを作成するところです。まず、このメソッド シグネチャを使用してインターフェイスを作成します。

public String user(String code);

実装ではSpringを使用しているため、値を返すには、次のように値を保存する2番目のパラメーターを渡す必要があります。

public String user(Model model, String code){
      String name = userservice.findUserName(code);

      model.addAttribute(name);
      return "userView";
}

わかりました。ご覧のとおり、実装クラスがインターフェイスのメソッドをオーバーライドしていないため問題がありますが、インターフェイス (設計) をテクノロジーにしたいので、インターフェイス プロジェクトにパラメーターと依存関係を追加したくありません。中性。

誰かが私にアドバイスをくれることを願っています。ありがとうございました。

4

1 に答える 1

3

Spring MVC アプリの例をいくつか見て、コーディング規約などを理解することをお勧めします。

コントローラーはインターフェイスに書き込まれる傾向がありません-とにかくそれが行われたのを見たことがありません。ただし、サービスとDAOのクラスが必要です。

したがって、ユーザー メソッドのコードは従来のサービス レイヤーのように見えますが、命名規則は通常、getUserまたはgetUserForId. したがって、コントローラーからこれを呼び出す場合は、次Modelのように引数について心配する必要はありません。

model.addAttribute("user", userService.getUserForId(code));

は次のようにuserService定義されます。

@Inject
UserService userService;

andUserServiceはインターフェースでありuserService、Spring/IoC コンテナーによって自動的に実装が注入されます。

于 2012-04-05T10:31:41.700 に答える