我看到Spring有一个@Required
注释来标记必须设置的bean中的成员变量。
是否有使用此功能的最佳做法?
例如,可能最好在构造函数中设置这些值并明确要求这些参数(特别是在Spring之外使用时)?
谢谢!
答案 0 :(得分:13)
虽然没有直接引用 @Required 注释,但Martin Fowler提供this advice ...
他更喜欢在构造函数中而不是在setter中设置对象值,因为它将“明确说明在明显的地方创建有效对象意味着什么”,同时它也“ 允许您通过简单地不提供setter来清楚地隐藏任何不可变的字段“。