依赖注入
- 依赖:bean对象的创建依赖于spring容器
- 注入:bean对象的属性是由spring容器注入的
注入的方式
- 构造器注入
- set方式注入
- 扩展方式注入
注入方式示例
- 构造器注入
<bean id="user" class="pojo.User" name="user2 user3 user4 user5" >
<constructor-arg name="name" value="denghuanyinhhhhhhh"></constructor-arg>
</bean>
- set方式注入
public class User {
private int id;
private String name;
private String pwd;
private Address address;
private String[] books;
private List<String> foods;
private Map<String,Object> bikes;
private Set<String> hobbys;
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public String[] getBooks() {
return books;
}
public void setBooks(String[] books) {
this.books = books;
}
}
xml
<bean id="address" class="pojo.Address"></bean>
<bean id="user" class="pojo.User" name="user2 user3 user4 user5" >
<!--注入方式: 基本类型注入 value-->
<property name="id" value="1"></property>
<property name="name" value="dhy"></property>
<property name="pwd" value="123456"></property>
<!--注入方式:引用类型注入 ref-->
<property name="address" ref="address"></property>
<!--注入方式:数组方式注入 array-->
<property name="books">
<array>
<value>书3</value>
<value>书2</value>
<value>书1</value>
</array>
</property>
<!--注入方式:map方式注入 map-->
<property name="bikes">
<map>
<entry key="bike1" value="红旗"></entry>
<entry key="bike2" value="长城"></entry>
</map>
</property>
<!--注入方式:list方式注入 list-->
<property name="foods">
<list>
<value>汉堡</value>
<value>可乐</value>
</list>
</property>
<!--注入方式:set方式注入 set-->
<property name="hobbys">
<set>
<value>1</value>
</set>
</property>
</bean>
- 扩展方式注入
c命名空间注入和p命名空间注入:xmlns引入,然后就可在bean元素同级进行注入了。。。。。具体自行百度。。。
在Spring中,构成应用程序主干并由Spring IoC容器管理的对象称为bean。Bean是由Spring IoC容器实例化,组装和管理的对象。否则,bean仅仅是应用程序中许多对象之一。Bean及其之间的依赖关系反映在容器使用的配置元数据中。
该org.springframework.context.ApplicationContext
接口代表Spring IoC容器,并负责实例化,配置和组装Bean。容器通过读取配置元数据来获取有关要实例化,配置和组装哪些对象的指令。配置元数据以XML,Java批注或Java代码表示。它使您能够表达组成应用程序的对象以及这些对象之间的丰富相互依赖关系。