ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

spring为何推荐使用构造器注入

2021-12-31 12:02:16  阅读:104  来源: 互联网

标签:依赖 spring private 构造 IOC public 注入


filed注入的缺点

  1. 对于IOC容器以外的环境,除了使用反射来提供它需要的依赖之外,无法复用该实现类。而且将一直是个潜在的隐患,因为你不调用将一直无法发现NullPointException的存在。
  2. 使用field注入可能会导致循环依赖
public class A {
       @Autowired
       private B b;
   }
   
public class B {
       @Autowired
       private A a;
   }

constructor注入的优点

  1. 依赖不可变(components as immutable objects), 即注入对象为final
  2. 依赖不可为空(required dependencies are not null),省去对注入参数的检查
  3. 提升了代码的可复用性: 非IOC容器环境可使用new实例化该类的对象
  4. 避免循环依赖: 使用构造器注入, 如果存在循环依赖, 在spring项目启动的时候就会抛出异常:
BeanCurrentlyInCreationException:Requested bean is currently in creation: Is there an unresolvable circular reference?

 

标签:依赖,spring,private,构造,IOC,public,注入
来源: https://www.cnblogs.com/xxoome/p/15752481.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有