【问题标题】:Why DTOs are not generally not maintained in spring container?为什么 DTO 一般不在 Spring 容器中维护?
【发布时间】:2015-09-16 14:56:02
【问题描述】:

为什么 DTO 通常不在 spring 容器中维护?如果我们在spring容器中维护,与之相关的优缺点是什么?我们可以为这些 DTO 使用原型作用域吗?

【问题讨论】:

    标签: spring frameworks dto


    【解决方案1】:

    您可以使用 spring 通过工厂方法生产 DTO。与直接使用new 创建对象相比,这样做可能是一种口味问题。如果您想成为使用 DI 的纯粹主义者,我想您可以使用工厂,但一般来说,DTO 不会有任何依赖关系,因此注入的好处并不真正存在。

    DTO 的一个非常有用的习惯用法是使用builder。这使您可以非常优雅地处理可选属性并强制执行不变量。有关更多信息,请查看 Bloch 关于该主题的相当明确的post

    【讨论】:

    • 感谢您提供指向 Bloch 帖子的链接。
    • 感谢 leeor 的回答。如果我们使用 Spring DI ,是否有任何问题,例如丢失对象状态或对象生命周期管理复杂性的机会......等等。
    • 不可能失去状态。我认为那里没有任何实际问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    相关资源
    最近更新 更多