【问题标题】:Recommended usage of Spring's @Required annotationSpring的@Required注解推荐用法
【发布时间】:2009-05-05 13:10:59
【问题描述】:

我看到 Spring 有一个 @Required 注释来标记 bean 中必须设置的成员变量。

有使用它的最佳实践吗?

例如,在构造函数中设置这些值并明确要求这些参数是否更好(尤其是在 Spring 之外使用时)?

谢谢!

【问题讨论】:

    标签: java spring


    【解决方案1】:

    虽然没有直接引用 @Required 注释,但 Martin Fowler 提供了this advice...

    他更喜欢在构造函数而不是设置器中设置对象值,因为它会“清楚地说明在明显的位置创建有效对象意味着什么”,同时它也“ 允许您通过简单地不提供 setter 来清楚地隐藏任何不可变的字段"。

    【讨论】:

    • 此外,在构造函数中设置/实例化变量允许您将它们声明为 final。最终变量以及提供明确的使用意图(如您所建议的)是实现不变性的一步(如果您的对象需要是线程安全的,这是值得的)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-28
    • 2015-02-07
    • 2021-09-20
    • 1970-01-01
    • 2018-03-17
    • 2016-12-15
    • 1970-01-01
    相关资源
    最近更新 更多