0

好的,我正在设计一个网络应用程序。所以我要创建控制器,首先我用这个方法签名创建接口。

public String user(String code);

在实现中我使用的是spring,所以为了返回值,需要传递第二个参数来存储值,就像这样。

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

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

好的,所以你可以看到有一个问题,因为我的实现类没有覆盖接口中的方法,但是我不想在接口项目中添加参数和依赖项,因为我希望接口(设计)是技术中性的。

希望有人能给我一些建议。谢谢你。

4

1 回答 1

3

我建议您查看一些示例 Spring MVC 应用程序以了解编码约定等。

控制器不倾向于被写入接口 - 我从来没有见过它。你希望你的服务和 DAO 类是。

因此,用户方法的代码看起来像经典的服务层,尽管命名约定通常更像getUseror getUserForId。因此,如果您从 Controller 调用它,那么您不必担心Modelarg,如下所示:

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

其中userService定义为:

@Inject
UserService userService;

并且UserService是接口,userService并由 Spring/IoC 容器自动注入实现。

于 2012-04-05T10:31:41.700 回答