扫码关注微信公众号

回复“面试手册”,获取本站PDF版

回复“简历”,获取高质量简历模板

回复“加群”,加入程序员交流群

回复“电子书”,获取程序员类电子书

当前位置: Java > Spring高频面试题 > 12.如何选择合适的依赖注入方式?

在实际应用中,没有最好的依赖注入方式,只有最合适的依赖注入方式

选择构造函数注入的理由:

  • 不需要为每个属性提供Setter方法,减少了类的方法个数
  • 构造函数可以保证一些重要的属性在Bean实例化时就设置好,避免因为一些重要属性没有提供而导致一个无用Bean实例的情况
  • 可以吧更好地封装变量,不需要为每个属性指定Setter的方法,避免外部错误调用

选择属性注入的理由:

  • 如果类的属性很多,构造函数将会变得非常臃肿,可读性较差
  • 构造函数注入不够灵活,如果有些属性是可选的,也需要为可选参数提供null值
  • 存在多个构造函数,需要配置文件和构造函数配置歧义问题,配置比较复杂
  • 构造函数不利于类的集成和扩展,因为子类需要引用父类复杂的构造函数
  • 构造函数注入可能产生循环依赖问题

点击面试手册,获取本站面试手册PDF完整版