Java 建议使用弹簧&x27;s@Required注释

Java 建议使用弹簧&x27;s@Required注释,java,spring,Java,Spring,我看到Spring有一个@Required注释来标记bean中必须设置的成员变量 是否有使用此功能的最佳实践 例如,在构造函数中设置这些值并明确要求这些参数(特别是在Spring之外使用时)是否更好 谢谢 马丁·福勒没有直接引用所需的注释,但提供了 他更喜欢在构造函数中而不是在setter中设置对象值,因为这将“为您提供一个清晰的语句,说明在一个明显的位置创建有效对象意味着什么”,同时它还“允许您通过不提供setter而清楚地隐藏任何不可变的字段”。,在构造函数中设置/实例化变量允许您将它们声明

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

是否有使用此功能的最佳实践

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


谢谢

马丁·福勒没有直接引用所需的注释,但提供了


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

,在构造函数中设置/实例化变量允许您将它们声明为final。最后一个变量,以及提供明确的使用意图(如您所建议的),是实现不变性的一步(如果您的对象需要线程安全,那么这是值得的)。