bean的装配集合类型注入
来源:互联网 发布:淘宝出库单 编辑:程序博客网 时间:2024/05/29 04:38
① 如何给集合类型注入值.
java中主要的集合有几种: map set list / 数组
Department类:
package com.hsp.collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Department {
privateString name;
privateString [] empName;
privateList<Employee> empList;
privateSet<Employee> empsets;
privateMap<String,Employee> empMaps;
publicSet<Employee> getEmpsets() {
returnempsets;
}
publicvoid setEmpsets(Set<Employee> empsets) {
this.empsets= empsets;
}
publicString[] getEmpName() {
returnempName;
}
publicvoid setEmpName(String[] empName) {
this.empName= empName;
}
publicString getName() {
returnname;
}
publicvoid setName(String name) {
this.name= name;
}
publicList<Employee> getEmpList() {
returnempList;
}
publicvoid setEmpList(List<Employee> empList) {
this.empList= empList;
}
publicMap<String, Employee> getEmpMaps() {
returnempMaps;
}
publicvoid setEmpMaps(Map<String, Employee> empMaps) {
this.empMaps= empMaps;
}
}
//Employeel类
package com.hsp.collection;
public class Employee {
privateString name;
privateint id;
publicint getId() {
returnid;
}
publicvoid setId(int id) {
this.id= id;
}
publicString getName() {
returnname;
}
publicvoid setName(String name) {
this.name= name;
}
}
beans.xml配置文件:
<?xml version="1.0"encoding="utf-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<bean id="department"class="com.hsp.collection.Department">
<property name="name"value="财务部"/>
<!-- 给数组注入值-->
<propertyname="empName">
<list>
<value>小明</value>
<value>小明小明</value>
<value>小明小明小明小明</value>
</list>
</property>
<!-- 给list注入值 list中可以有相当的对象 -->
<propertyname="empList">
<list>
<ref bean="emp2" />
<ref bean="emp1"/>
<ref bean="emp1"/>
<ref bean="emp1"/>
<ref bean="emp1"/>
<ref bean="emp1"/>
<ref bean="emp1"/>
</list>
</property>
<!-- 给set注入值set不能有相同的对象 -->
<propertyname="empsets">
<set>
<ref bean="emp1" />
<ref bean="emp2"/>
<ref bean="emp2"/>
<ref bean="emp2"/>
<ref bean="emp2"/>
</set>
</property>
<!-- 给map注入值 map只有key不一样,就可以装配value -->
<propertyname="empMaps">
<map>
<entry key="11" value-ref="emp1"/>
<entry key="22"value-ref="emp2"/>
<entry key="33"value-ref="emp1"/>
</map>
</property>
<!-- 给属性集合配置-->【点http协议 referer】
<propertyname="pp">
<props>
<prop key="pp1">abcd</prop>
<prop key="pp2">hello</prop>
</props>
</property>
</bean>
<bean id="emp1"class="com.hsp.collection.Employee">
<property name="name"value="北京"/>
<property name="id"value="1"/>
</bean>
<bean id="emp2"class="com.hsp.collection.Employee">
<property name="name"value="天津"/>
<property name="id"value="2"/>
</bean>
</beans>
② 内部bean
<bean id=”foo” class=”....Foo”>
<propertyname=”属性”>
<!—第一方法引用-->
<refbean=’bean对象名’/>
<!—内部bean-->
<bean>
<properyt></property>
</bean>
</property>
</bean>
③ 继承配置
public class Student
public class Gradate extends Student
在beans.xml文件中体现配置
<!-- 配置一个学生对象 -->
<bean id="student"class="com.hsp.inherit.Student">
<propertyname="name" value="顺平" />
<propertyname="age" value="30"/>
</bean>
<!-- 配置Grdate对象 -->
<bean id="grdate"parent="student" class="com.hsp.inherit.Gradate">
<!--如果自己配置属性name,age,则会替换从父对象继承的数据 -->
<propertyname="name" value="小明"/>
<propertyname="degree" value="学士"/>
</bean>
package com.hsp.collection;import java.util.Enumeration;import java.util.Iterator;import java.util.Map;import java.util.Properties;import java.util.Map.Entry;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class App1 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubApplicationContext ac=new ClassPathXmlApplicationContext("com/hsp/collection/beans.xml");Department department=(Department) ac.getBean("department");System.out.println(department.getName());for(String emName:department.getEmpName()){System.out.println(emName);}System.out.println("**********通过list集合取出数据*****");for(Employee e : department.getEmpList()){System.out.println("name="+e.getName()+" "+e.getId());}System.out.println("**********通过set集合取出数据*****");for(Employee e : department.getEmpsets()){System.out.println("name="+e.getName());}System.out.println("*******通过map集合取出数据 迭代器****");//1.迭代器Map<String,Employee> empmaps=department.getEmpMaps();Iterator it=empmaps.keySet().iterator();while(it.hasNext()){String key=(String) it.next();Employee emp=empmaps.get(key);System.out.println("key="+key+" "+emp.getName());}System.out.println("*******通过map集合取出数据 简洁方法****");//2.简洁方法for(Entry<String,Employee> entry1:department.getEmpMaps().entrySet()){System.out.println(entry1.getKey()+" "+entry1.getValue().getName());}System.out.println("*****通过Propertis取出数据*****");Properties pp=department.getPp();//System.out.println(pp.get("pp1").toString());for(Entry<Object,Object> entry:pp.entrySet()){System.out.println(entry.getKey().toString()+" "+entry.getValue().toString());}System.out.println("*****通过Enumeration取出*****");Enumeration en= pp.keys();while(en.hasMoreElements()){//Entry<Object,Object> elment= (Entry<Object, Object>) en.nextElement();//System.out.println(elment.getKey()+" "+elment.getValue());String key=(String) en.nextElement();System.out.println(key+" "+pp.getProperty(key));}}}
package com.hsp.collection;import java.util.List;import java.util.Map;import java.util.Properties;import java.util.Set;public class Department {private String name;private String [] empName;//数组private List<Employee> empList;//list集合private Set<Employee> empsets;//set集合private Map<String,Employee> empMaps;//map集合private Properties pp;//Properties的使用public Set<Employee> getEmpsets() {return empsets;}public void setEmpsets(Set<Employee> empsets) {this.empsets = empsets;}public String[] getEmpName() {return empName;}public void setEmpName(String[] empName) {this.empName = empName;}public String getName() {return name;}public void setName(String name) {this.name = name;}public List<Employee> getEmpList() {return empList;}public void setEmpList(List<Employee> empList) {this.empList = empList;}public Map<String, Employee> getEmpMaps() {return empMaps;}public void setEmpMaps(Map<String, Employee> empMaps) {this.empMaps = empMaps;}public Properties getPp() {return pp;}public void setPp(Properties pp) {this.pp = pp;}}
<?xml version="1.0" encoding="utf-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"><bean id="department" class="com.hsp.collection.Department"><property name="name" value="财务部"/><!-- 给数组注入值 --><property name="empName"><list><value>小明</value><value>小明小明</value><value>小明小明小明小明</value></list></property><!-- 给list注入值 list 中可以有相当的对象 --><property name="empList"><list><ref bean="emp2" /><ref bean="emp1"/><ref bean="emp1"/><ref bean="emp1"/><ref bean="emp1"/><ref bean="emp1"/><ref bean="emp1"/></list></property><!-- 给set注入值 set不能有相同的对象 --><property name="empsets"><set><ref bean="emp1" /><ref bean="emp2"/><ref bean="emp2"/><ref bean="emp2"/><ref bean="emp2"/></set></property><!-- 给map注入值 map只有key不一样,就可以装配value --><property name="empMaps"><map><entry key="11" value-ref="emp1" /> <entry key="22" value-ref="emp2"/><entry key="22" value-ref="emp1"/></map></property><!-- 给属性集合配置 --><property name="pp"><props><prop key="pp1">abcd</prop><prop key="pp2">hello</prop></props></property></bean><bean id="emp1" class="com.hsp.collection.Employee"><property name="name" value="北京"/><property name="id" value="1"/></bean><bean id="emp2" class="com.hsp.collection.Employee"><property name="name" value="天津"/><property name="id" value="2"/></bean></beans>
package com.hsp.collection;public class Employee {private String name;private int id;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
- bean的装配集合类型注入
- 装配bean——集合类型注入值
- Spring 装配Bean的构造注入
- Bean的手动装配(set注入)
- Spring集合类型的bean及其注入方法
- [Java] Spring 3.0 /id.vs.name/简单属性的注入/bean中的scope属性/集合注入/自动装配/生命周期/
- spring_spring集合装配注入
- Bean装配 注入参数 详解
- Spring(二)装配Bean(注入)
- 基于Spring4的Bean的装配和依赖注入
- Spring的《XML显式装配bean》- 注入Map
- Spring Bean的自动装配,注入及后处理器
- spring对于集合类型的装配
- Spring装配各种集合类型的配置文件
- Spring Bean装配--@Bean注解注入说明
- spring集合类型装配
- Spring-集合类型装配
- Spring Bean装配--常用的注入方式和自动装配的配置和实现
- Linux-C预习内容(一)
- Windows下搭建PHP开发环境
- 电路设计_RFID学习
- LeetCode 83. Remove Duplicates from Sorted List
- 用Python定义一个求绝对值的函数
- bean的装配集合类型注入
- 导出Excel文件2种方式及优化见解
- 嵌入式实时操作系统ucos/ii 原理与应用(二)
- UC/OS-II中的任务(一)
- 笔试题 :查找两个字符串在一个字符串中出现的顺序
- 网络字节序判断
- 背包问题java 代码
- 简述Python 3.x如何下载文件到本地
- MFC中使用BasicExcel外部类