依赖注入方式
向一个类中传递数据的方式有几种?
普通方法和构造方法
依赖注入描述了在容器中建立bean与bean之间依赖关系的过程,如果bean运行需要的是数字或字符串呢?
引用类型(对象)
简单类型(基本数据类型与String)
依赖注入方式
setter注入(简单类型,引用类型)
构造器注入(简单类型,引用类型)
构造函数注入和setter注入的区别:
实现的方式不同:构造函数注入是通过构造函数将依赖对象注入进来,setter注入是通过set方法将依赖对象注入进来。
初始化顺序不同:构造函数注入在创建完对象之后就已经完成了依赖注入,而setter注入在创建对象后的任意时刻都能完成依赖注入。
可变性不同:构造函数注入一般用于注入不可变的依赖对象,setter注入用于注入可变的依赖对象。
如果使用构造函数注入,那么所有的依赖关系都应该注入进来,但是如果使用setter注入,可以注入部分依赖对象。
构造函数注入任何时刻使用都会创建一个新对象,但是setter注入不会创建新对象。