【面试题】Spring中构造方法注入和设值注入有什么区别

Spring中构造方法注入和设值注入有什么区别

设值注入的优势:

  1. 设值注入写法直观便于理解,使各种关系清晰明了。
  2. 设值注入可以避免因复杂的依赖实例化时所造成的性能问题。
  3. 设值注入的灵活性较强。

构造方法注入的优势:

  1. 构造方法注入可以决定依赖关系的注入顺序,有限依赖的优先注入。
  2. 对于依赖关系无需变化的Bean,构造方法注入使所有的依赖关系全部在构造器内设定,可避免后续代码对依赖关系的破坏。
  3. 构造方法注入中只有组建的创建者才能改变组建的依赖关系,更符合高内聚原则。

建议:

采用设值注入为主,构造注入为辅的注入策略。依赖关系无需变化时,尽量采用构造注入,而其它的依赖关系的注入,则考虑设值注入。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容