现场注入具有构造函数注入的好处?

时间:2017-06-15 13:53:17

标签: spring dependency-injection constructor field

所以我正在阅读有关构造函数注入和字段注入的内容,有利于构造函数注入的明显点是NPE避免和更好的可测试性,所以我的问题是: Spring不会允许您使用缺少的bean启动应用程序,即使它是一个注入的字段,因此无法获得NPE。就可测试性而言,你可以在测试中模拟/窥探你想要的bean,它也会起作用,所以除了惯例之外还有一个真正的好处吗?

1 个答案:

答案 0 :(得分:0)

  

Spring不允许你启动一个缺少bean的应用程序,即使它是一个注入了一个

的字段

这并不总是正确的,你可能会将你的bean标记为懒惰的实例化,所以在这种情况下你很可能得到NPE,因为注入将发生在bean请求(使用)点。

构造函数注入的一个优点是它需要注入,与场相反。所以它更容易出错。