1构造器注入
我们正常使用的无参注入bean
<bean id="userT" class="com.kuang.pojo.UserT"/>
2.set方式注入(核心注入方式)
依赖注入:set注入
依赖:bean对象的创建依赖容器
注入:bean对象的属性注入依赖容器
新建一个java对象,包含了不同的属性类型
private String name;
private List<Teacher> teacherList;
private Map<String,String> bankCards;
private Set<String> books;
private String gf;
private String[] games;
private Address address;
private Properties properties;
不同类似属性值得bean配置
<bean id="address" class="com.kuang.pojo.Address">
<property name="address" value="地址。。。。"/>
</bean>
<bean id="teacher1" class="com.kuang.pojo.Teacher">
<property name="tName" value="胡老师"/>
</bean>
<bean id="teacher2" class="com.kuang.pojo.Teacher">
<property name="tName" value="章老师"/>
</bean>
<bean id="teacher3" class="com.kuang.pojo.Teacher">
<property name="tName" value="孙老师"/>
</bean>
<bean id="student" class="com.kuang.pojo.Student">
<property name="name" value="胡歌"/>
<property name="address" ref="address"/>
<!--list-->
<property name="games">
<array>
<value>三年获</value>
<value>火速</value>
<value>宿舍</value>
</array>
</property>
<!--map-->
<property name="bankCards">
<map>
<entry key="苏州" value="7888887"/>
<entry key="南京" value="8989889"/>
<entry key="别急" value="7897878"/>
</map>
</property>
<!--set-->
<property name="books">
<set>
<value>三国演绎</value>
<value>水浒传</value>
<value>西游记</value>
</set>
</property>
<!--null-->
<property name="gf">
<null/>
</property>
<property name="properties">
<props>
<prop key="学号">88383</prop>
<prop key="username">胡给</prop>
</props>
</property>
</bean>
3拓展方式注入
p命名空间和c命名空间,首先需要在xml文件中添加约束(单独添加就可以使用)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//p命名空间
xmlns:p="http://www.springframework.org/schema/p"
//c命名空间
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
//可以直接使用,注入属性property
<bean id="teacher" class="com.kuang.pojo.Teacher" p:grade="一年级" p:tName="胡老师"/>
//不可以直接使用,通过构造方法注入
<bean id="teacher2" class="com.kuang.pojo.Teacher" c:grade="二年纪" c:tName="章老师"/>
</beans>
4bean的作用域
1单例模式
<!--scope="singleton" 默认就是单例模式,可以不写-->
<bean id="teacher" class="com.kuang.pojo.Teacher" p:grade="一年级" p:tName="胡老师" scope="singleton"/>
2 原型模式
<!--scope="prototype" 每次获取bean都会生成一个新的bean-->
<bean id="teacher2" class="com.kuang.pojo.Teacher" c:grade="二年纪" c:tName="章老师" scope="prototype"/>
3其他 request,session,application,这些只能在web开发中使用。