设计具有/不具有特定类实现的接口

时间:2012-04-04 20:46:31

标签: java spring-mvc

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

public String user(String code);

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

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

      model.addAttribute(name);
      return "userView";
}
好的,所以你可以看到有一个问题,因为我的实现类没有覆盖接口中的方法,但我不想在interfaces项目中添加参数和依赖项,因为我想要接口(设计) )技术中立。

希望有人可以给我一些建议。谢谢。

1 个答案:

答案 0 :(得分:3)

我建议您查看一些example Spring MVC apps以了解编码约定等。

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

因此,您的用户方法代码看起来像经典服务层,但命名约定通常更像getUsergetUserForId。因此,如果您从Controller调用此函数,那么您不必担心Model arg,如下所示:

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

其中userService定义为:

@Inject
UserService userService;

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