好的,我正在设计一个网络应用程序。所以我正在创建控制器,首先我用这个方法签名创建接口。
public String user(String code);
在我使用spring的实现中,所以为了返回值,需要传递第二个参数来存储值,就像这样。
public String user(Model model, String code){
String name = userservice.findUserName(code);
model.addAttribute(name);
return "userView";
}
好的,所以你可以看到有一个问题,因为我的实现类没有覆盖接口中的方法,但我不想在interfaces项目中添加参数和依赖项,因为我想要接口(设计) )技术中立。
希望有人可以给我一些建议。谢谢。
答案 0 :(得分:3)
我建议您查看一些example Spring MVC apps以了解编码约定等。
控制器不倾向于写入接口 - 我从来没有见过它。您希望您的服务和DAO课程。
因此,您的用户方法代码看起来像经典服务层,但命名约定通常更像getUser
或getUserForId
。因此,如果您从Controller调用此函数,那么您不必担心Model
arg,如下所示:
model.addAttribute("user", userService.getUserForId(code));
其中userService
定义为:
@Inject
UserService userService;
和UserService
是接口,userService
由Spring / IoC容器自动注入实现。