依赖:bean对象的建立依赖容器java
注入:bean对象全部属性,由容器注入spring
参考第四点建立对象的方式数组
构造函数注入分为app
无参构造注入函数
有参构造注入测试
其实咱们在一开始了解IOC思想的时候就是用Setter注入的可是那是最基本的下面开始分析复杂的spa
基于spring的setter注入官方解释code
Spring团队一般提倡使用构造函数注入,由于它可让您将应用程序组件实现为不可变对象,并确保不存在必需的依赖项null
。此外,注入构造函数的组件始终以彻底初始化的状态返回给客户端(调用)代码。附带说明一下,大量的构造函数自变量是一种很差的代码味,这代表该类可能承担了太多的职责,应进行重构以更好地解决关注点分离问题。xml
Setter注入主要应仅用于能够在类中分配合理的默认值的可选依赖项。不然,必须在代码使用依赖项的任何地方执行非空检查。对象
setter注入的一个好处是,setter方法可以使该类的对象在之后从新配置或从新注入。
第一步:编写实体类(最好的各个注入类型都包含)(省略getset和toString)
public class Student implements Serializable {
private String name;
private Integer age;
private Teacher teacher;
private String[] books;
private List<String> hobbies;
private Map<String,Object> score;
private Set<String> games;
private Properties subject;
}
public class Teacher implements Serializable {
private String name;
private Integer age;
}
第二步:编写核心配置文件applicationContext.xml