spring依赖注入中对象类型的属性注入三种方式前文可进行查阅有详细文档
spring依赖注入—数组类型属性赋值
代码片段
public class Emp {
//员工----部门
private String name;//员工姓名
private Dept dept;//部门
private String[] str;//定义数组---数组类型的属性
public String[] getStr() {
return str;
}
public void setStr(String[] str) {
this.str = str;
}
}
bean.xml
<!--创建bean对象-->
<bean id="dept" class="com.guigu.dao.Dept">
<!--普通属性的注入-->
<property name="name" value="研发部门"></property>
</bean>
<bean id="emp" class="com.guigu.dao.Emp">
<!--普通属性注入-->
<property name="name" value="zhangsan"></property>
<!--对象类型的引入(bean外部方式引入)-->
<property name="dept" ref="dept"></property>
<!--数组类型属性注入-->
<property name="str">
<array>
<value>吃饭</value>
<value>睡觉</value>
<value>追剧</value>
</array>
</property>
</bean>
总结:
property name="str">
<array>
<value>吃饭</value>
<value>睡觉</value>
<value>追剧</value>
</array>
</property>
通过array数组标签进行value设置name值
list集合类型的属性赋值
代码:
private List<Emp> listEmp;
public void setListEmp(List<Emp> listEmp) {
this.listEmp = listEmp;
}
public void info() {
//遍历集合
for (Emp emp : listEmp
) {
System.out.println("遍历list集合数据"+emp.getName());
}
}
bean.xml
<!--
1、分别创建emp和dept对象
-->
<bean id="empone" class="com.guigu.dao.Emp">
<!--普通属性赋值-->
<property name="name" value="java部门"></property>
</bean>
<bean id="emptwo" class="com.guigu.dao.Emp">
<!--普通属性赋值-->
<property name="name" value="mysql部门"></property>
</bean>
<bean id="dept" class="com.guigu.dao.Dept">
<!--list类型属性赋值-->
<property name="listEmp">
<list>
<!-- 引入bean创建的emp对象-->
<ref bean="empone"></ref>
<ref bean="emptwo"></ref>
</list>
</property>
</bean>
测试:
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("bean-list.xml");
//根据id获取bean创建的对象
Dept dept = (Dept)context.getBean("dept");
dept.info();
}
结果:
遍历list集合数据java部门
遍历list集合数据mysql部门
ist集合类型属性依赖注入赋值时用list标签进行遍历,用ref标签进行引入集合对象