控制反转,我们可以把它看作是一个概念。而依赖注入(Dependency Injection)是控制 反转的一种实现方法.
James Shore给出了依赖注入的定义:依赖注入就是将实例变量传入到一个对象中去。
xml形式
使用构造器注入
<beanid="person"class="com.lanou.domain.Person"><!--根据参数名称注入--><constructor-argname="name"value="小明"/><!--根据索引 index 注入--><constructor-argindex="1"value="24"/><!--根据构造器的参数的类型,如果类型相同,则按照声明顺序依次排列--><constructor-argtype="java.lang.String"value="men"/></bean>
使用属性 setter 方法
publicclass Person {
private String name;
privateint age;
private String gender;
private Car car;
private List list;
private Set set;
private Map map;
private Properties properties;
private Object[ ] objects;
}
简单bean的注入
<beanname="person"class="com.lanou.domain.Person"><!-- propertybean 就是一个bean的属性
name 用来描述属性的名称
value就是属性值,(基本类型和String) --><propertyname="name"value=" "/><propertyname="age"value="22"/><propertyname="gender"value="men"/></bean>
引用其他的Bean
<beanname="car"class="com.lanou.domain.Car"/><beanname="person"class="com.lanou.domain.Person"><!--spring 容器内部创建 car 对象给 Person 的 car 属性赋值--><propertyname="car"ref="car"/></bean>