在Spring MVC& amp;中使用Bean而不是模型的目的。过冬

时间:2016-07-12 04:57:47

标签: java spring hibernate spring-mvc

我看到使用bean而不是模型编写教程,但没有解释为什么需要这样做。

  

http://www.dineshonjava.com/2012/12/spring-mvc-with-hibernate-crud-example.html#.V4R1_vl96Un

任何人都知道为什么这样做?使用bean类的任何用例?

控制器中的一些代码:

@RequestMapping(value = "/edit", method = RequestMethod.GET)
public ModelAndView deleteEmployee(@ModelAttribute("command")EmployeeBean employeeBean,
   BindingResult result) {
  Map<String, Object> model = new HashMap<String, Object>();
  model.put("employee", prepareEmployeeBean(employeeService.getEmployee(employeeBean.getId())));
  model.put("employees",  prepareListofBean(employeeService.listEmployeess()));
  return new ModelAndView("addEmployee", model);
}

private EmployeeBean prepareEmployeeBean(Employee employee){
  EmployeeBean bean = new EmployeeBean();
  bean.setAddress(employee.getEmpAddress());
  bean.setAge(employee.getEmpAge());
  bean.setName(employee.getEmpName());
  bean.setSalary(employee.getSalary());
  bean.setId(employee.getEmpId());
  return bean;
 }

我是sping mvc的新手,感谢任何人都可以解释为什么要这样做... 感谢。

2 个答案:

答案 0 :(得分:1)

通过这个例子来看,他似乎刚刚创建了“员工”这个&#39; class返回前端JSP(表示层)。这将是将POJO与休眠&#39; Employee&#39;他专门为将对象映射到hibernate而制作的。

有关JavaBeans约定的更多信息:https://en.wikipedia.org/wiki/JavaBeans

答案 1 :(得分:-1)

作者以这样的方式编写代码:在将数据呈现给JSP时,它将模型类转换为自定义bean,并在插入数据时将自定义bean转换为模型类。

他的想法是在持久层表示层之间引入自定义控制层。原因可能是通过添加自定义默认值来控制流程,或者可能是自定义验证,尽管Spring可以使用@InitBinder和许多其他技术实现这一点。