spring学习之集合属性注入

spring中对象之间的相互依赖关系是通过applicationContext.xml来管理的,因此集合属性注入的重点也放在applicationContext.xml的配置之中。

下面是一个完整的各种集合属性注入的例子

目录结构:

实体类

public class Students {private String sid;private String sname;private int age;public Students() {super();}public Students(String sid, String sname, int age) {super();this.sid = sid;this.sname = sname;this.age = age;}public String getSid() {return sid;}public void setSid(String sid) {this.sid = sid;}public String getSname() {return sname;}public void setSname(String sname) {this.sname = sname;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}spring提倡面向接口的编程,,因此抽象出对students类的常用操作的方法。

public interface StudentsDAO {//保存学生public boolean saveStudents(Students s);}public class StudentsDAOImpl implements StudentsDAO {@Overridepublic boolean saveStudents(Students s) {if(s!=null){return true;}else{return false;}}}service层

public class StudentsService {//name对应applicationContext中bean的name//@Resource(name="studentsDAO")//按照类型来匹配,因为它们的类型不同,@Autowired@Qualifier("studentsDAO")private StudentsDAO sDAO;//@Resource(name="students")@Autowired@Qualifier("students")private Students s;private List<String> citys;private List<Students> stus;private Set<String> countrys;private Map<Integer,String> users;public List<Students> getStus() {return stus;}public void setStus(List<Students> stus) {this.stus = stus;}public Set<String> getCountrys() {return countrys;}public void setCountrys(Set<String> countrys) {this.countrys = countrys;}public List<String> getCitys() {return citys;}public void setCitys(List<String> citys) {this.citys = citys;}public Map<Integer, String> getUsers() {return users;}public void setUsers(Map<Integer, String> users) {this.users = users;}public StudentsDAO getsDAO() {return sDAO;}public void setsDAO(StudentsDAO sDAO) {this.sDAO = sDAO;}public Students getS() {return s;}public void setS(Students s) {this.s = s;}//保存学生public boolean saveStudents(){if(sDAO.saveStudents(s)){return true;}else{return false;}}}applicationContext.xml,配置文件

其中有list<String>、set<String>、Map和list<Students>(它是一个引用类型)<?xml version="1.0" encoding="UTF-8"?><beans xmlns="" xmlns:xsi="" xmlns:context="" xsi:schemaLocation=" "><!– 加入对注解的支持 –><context:annotation-config/><bean name="students" class="com.qzp.model.Students"><constructor-arg index="0" type="java.lang.String" value="001"/><constructor-arg index="1" value="qzp"/><constructor-arg index="2" value="25"/></bean><bean name="studentsDAO" class="com.qzp.dao.impl.StudentsDAOImpl"></bean><bean name="studentsService" class="com.qzp.service.StudentsService"><property name="s" ref="students"></property><property name="sDAO" ref="studentsDAO"></property><property name="citys"><list><value>北京</value><value>南京</value><value>上海</value></list></property><property name="stus"><list><bean name="stu1" class="com.qzp.model.Students"><constructor-arg index="0" type="java.lang.String" value="001"/><constructor-arg index="1" value="qzp"/><constructor-arg index="2" value="25"/></bean><bean name="stu2" class="com.qzp.model.Students"><constructor-arg index="0" type="java.lang.String" value="002"/><constructor-arg index="1" value="qap"/><constructor-arg index="2" value="12"/></bean></list></property><property name="countrys"><set><value>中国</value><value>英国</value><value>美国</value></set></property><property name="users"><map key-type="java.lang.Integer" value-type="java.lang.String"><entry key="0" value="张三"></entry><entry key="1" value="李四"></entry><entry key="2" value="王五"></entry></map></property> </bean></beans>最后附上测试代码

接受失败等于打破完美的面具,接受失败等于放松自己高压的心理,

spring学习之集合属性注入

相关文章:

你感兴趣的文章:

标签云: