[英]Spring setter injection and constructor injection
请让我们了解在哪种情况下应该使用用户构造函数注入和setter注入。 请帮助我提供适当的示例。
提前致谢。
我们通常建议人们对所有必需的协作者使用构造函数注入,对所有其他属性使用setter注入。 同样,构造函数注入可确保满足所有强制属性,并且根本不可能以无效状态(未通过其协作者)实例化对象。 换句话说,在使用构造函数注入时,您不必使用专用机制来确保设置了必需的属性(普通的Java机制除外)。
就个人而言,我倾向于构造函数注入,而这样做是出于一个主要原因。
不变性。
使用不可变的对象,可以更轻松地使代码线程安全。 在处理Spring singleton
作用域对象时,这一点尤其重要。 如果它们是可变的,并且在不同的线程中访问,则更改任何共享状态都是不安全的。
不变性是有益的还有其他原因,但是我将继续介绍一个网页 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.