创建一个简单的类来最低限度地实现接口。它与接口的想法相同,但它是一个类。它不包含您的任何逻辑或验证或其他任何内容。它只是接口的最简单实现,称之为UserSimple,它实现了你的接口。它被称为数据传输对象。
public class UserSimple implements User {
String name;
String address;
//getters and setters only
}
添加一个转换器,将 UserImpl 的真实属性复制到 UserSimple 中。
@Component
public class ImplToSimpleConverter
implements Converter<UserImpl, UserSimple> {
@Override
public UserSimple convert(UserImpl source) {
UserSimple target = new UserSimple();
BeanUtils.copyProperties(source, target);
return target;
}
}
UserSimple
在处理程序中使用。
@RequestMapping(value={"/new"}, method=RequestMethod.GET)
public String showCreationForm(@ModelAttribute UserSimple user){
return "user_registration_form";
}
这使您可以保持代码通用。要在不同的应用程序中使用相同的类,您只需添加不同的转换器即可。