1.DI:依赖注入
Teacher
Course : cname teacher
1.容器赋值:
①如果是简单类型(8个基本+String),value;
②如果是引用对象类型,ref="需要引用的id值",因此实现了对象与对象之间的依赖关系
conext.getBean(需要获取的bean的id值)
2.依赖注入3种方式:
①set注入:通过setXxx()赋值 (<property...>)
赋值,默认使用的是 set方法();
依赖注入底层是通过反射实现的。
②构造器注入:通过构造方法赋值
<constructor-arg value="ls" type="String" index="0" name="name"></constructor-arg>
需要注意:<constructor-arg>的顺序与构造方法参数的顺序一致。如果 <constructor-arg>的顺序与构造方法参数的顺序不一致,则需要通过type或者index或name指定。
③p命名空间注入
引入p命名空间
xmlns:p="http://www.springframework.org/schema/p"
<bean id="course" class="org.lanqiao.entity.Course" p:courseHour="300" p:courseName="hadoop" p:teacher-ref="teacher">
a.简单类型:
p:属性名="属性值"
b.引用类型(除了String外):
p:属性名-ref="引用的id"
注意多个 p赋值的时候中间要有空格。
注意:无论是String还是Int/short/long,在赋值时都是 value="值" ,因此建议 此种情况 需要配合 name\type进行区分。
3.示例:
注入各种集合数据类型: List 数组 Set map properties
set、list、数组,各自都有自己的标签<set> <list> <array>,也可以混着用,但建议对号入座。