下面对spring依赖注入的两种方式进行一些介绍和比对Spring依赖注入的两种方式是
设置注入;
构造注入;
spring依赖注入之设置注入的优点
与传统的JavaBean的写法更相似程序员更容易理解接受通过setter方式设定依赖关系显得更加直观明显;
对于复杂的依赖关系如果采用构造注入会导致构造器过于臃肿难以阅读Spring在创建Bean实例时需要同时实例化其依赖的全部实例因而导致死你功能下降而使用设置注入则避免这下问题;
尤其在某些属性可选的情况下多参数的构造器更加笨拙
spring依赖注入之构造注入的优点
构造注入可以再构造器中决定依赖关系的注入顺序优先依赖的优先注入
对于依赖关系无须变化的Bean构造注入更有用处;因为没有setter方法所有的依赖关系全部在构造器内设定因此不用担心后续代码对依赖关系的破坏
依赖关系只能在构造器中设定则只有组件的创建者才能改变组件的依赖关系对组件的调用者而言组件内部的依赖关系完全透明更符合高内聚的原则;
建议采用以设置注入为主构造注入为辅的注入策略对于依赖关系无须变化的注入尽量采用构造注入;而其他的依赖关系的注入则考虑采用设置注入