我看到Spring具有@Required
批注,以标记必须设置的bean中的成员变量。
是否有使用此最佳实践?
例如,在构造函数中设置这些值并明确指定这些参数(尤其是在Spring之外使用时)会更好吗?
谢谢!
最佳答案
虽然不直接引用 @Required 批注,但Martin Fowler提供了this advice ...
他更喜欢在构造函数中而不是在setter中设置对象值,因为它将“清楚地说明在有效位置创建有效对象的含义”,同时还“允许您清楚地隐藏任何不可变的字段”通过根本不提供二传手”。