构造函数自动装配对于属性自动装配是否有任何特定优势......或者是正常的。高级强制团队在春季启动中使用构造函数自动装配..它是否有任何特定的优势。两种类型的自动装配的利弊
答案 0 :(得分:1)
构造函数自动装配的优点在于,您可以将有线字段设置为final(如果您的bean将从多个线程调用,特别有用,因为线程安全性更容易通过决策进行分析)。并且您可以确保始终以有效的方式构造bean(尽管您可以始终实现InitializingBean
并使用afterPropertiesSet
方法实现相同的功能,如果您在属性中进行布线)。 / p>
如果你有很多字段,那么接线属性会更好,因为它避免了构造函数中有很多参数,如果你使用xml,那么按名称连接就不太容易混淆变量(考虑一个有很多的构造函数)所有一种类型的参数 - 在错误的变量中连接都很容易。布线属性也使得更容易拥有可选属性 - 使用构造函数连接的可选属性将需要多个构造函数,这可能很快变得复杂。
总之,这两种方法都有其优点和缺点 - 我们通常使用属性布线,除非我们应该使用构造函数布线。
答案 1 :(得分:0)
构造函数接线也有助于编写无bug代码。如果你通过构造函数自动装配连接依赖关系,你将能够使用模拟框架轻松地模拟它们,并通过构造函数注入它们。
具体来说,Mockito在模拟依赖项时无声地失败,如果你还没有使用构造函数自动装配,那么很难调试代码中断的地方。
如果您使用TDD编写大型企业应用程序,构造函数自动装配会很有帮助。