与属性 Autowiring 相比,构造函数 Autowiring 是否有任何特定优势......或普通优势。? Superior forcing team to use constructor autowiring in spring boot ..它有什么特别的优势吗?两种 Autowiring 的优缺点
最佳答案
构造函数 Autowiring 的优势在于,您可以将装配的字段设为最终(如果您的 bean 将从多个线程调用时特别有用,因为使用 final 更容易分析线程安全)。并且您可以确保 bean 始终以有效的方式构造(尽管您始终可以实现 InitializingBean
并使用 afterPropertiesSet
方法来实现相同的效果,如果您正在接线属性)。
如果你有很多字段,那么连接属性会更好,因为它避免了在你的构造函数中有很多参数,并且如果你使用 xml,按名称连接不太容易混淆变量(考虑一个有很多参数的构造函数一种类型 - 很容易连接错误的变量)。连接属性还可以更轻松地拥有可选属性 - 带有构造函数连接的可选属性将需要多个构造函数,这很快就会变得复杂。
总而言之,这两种方法各有利弊 - 我们通常使用属性连接,除非有特殊原因我们应该使用构造函数连接。
关于spring - 与普通 Autowiring 或属性 Autowiring 相比,构造函数 Autowiring 有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48449804/