有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在表示层中我应该在哪里创建新实体?

因为我刚刚学习了Java的所有成果,我想找出一件在我脑海中萦绕了一段时间的事情。 下面的代码是两个不同类中两个方法的快速示例。第一个显然是某个页面的控制器,另一个是服务的一部分

@RequestMapping("/something)
public void doSomething() {
    ...

    SomeEntity example = new SomeEntity();
    example.setAccount(account);
    example.setSmthElse(else);
    example.setDate(new Date());
    example.setSomething(something);

    someService.saveSomeEntity(example);
}

... 

public void saveSomeEntity(SomeEntity object) {
    someEntityDAO.save(object);
}

因此,我这里的问题是,新实体SomeEntity的创建和属性的设置应该像上面那样在表示层部分中完成,还是应该通过将所有参数传递给saveSomeEntity方法来完成


共 (2) 个答案

  1. # 1 楼答案

    是的,可以在任何图层上创建实体

    有些人更喜欢DTO(具有相同结构的独立对象),然后将其转换为实体

    避免在JSP中编写java代码。实例化控制器中的对象,或者将其留给某个绑定机制

  2. # 2 楼答案

    控制器不是表示层。它是MVC中的C。持久性层应该只关注持久性,而不是模型对象的创建。上面的代码还可以。有些人会在服务中创建对象,而不是在控制器中,但参数在控制器中随时可用,因此IMHO是可接受的