Spring构造器注入

来源:互联网 发布:php开源网站统计系统 编辑:程序博客网 时间:2024/05/20 10:11

重点内容

1.注入基本类型数据

2.注入实体类对象

3.注入集合为基本类型数据

4.注入集合为类类型数据

(一) 注入基本类型数据

package com.learnSpring05;public class Student {    public String name;    public Student(String name){        this.name=name;    }    @Override    public String toString() {        return "Student [name=" + name + "]";    }}<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean  id="student1"  class="com.learnSpring05.Student">    <constructor-arg>    <value>凯耐</value>    </constructor-arg></bean></beans>package com.learnSpring05;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class testStudent {    @Test    public void testStudent(){        ApplicationContext c=new ClassPathXmlApplicationContext("bean03.xml");         Student s=(Student) c.getBean("student1");         System.out.println(s);    }}控制台输出结果:Student [name=凯耐]

(二) 注入实体类对象

package com.learnSpring05;public class Computer {    public String useCoputer(){         return "帮助学生提高学习效率";    }}package com.learnSpring05;public class Student {    private String name;    private Computer computer;    public Student(String name,Computer computer){        this.name=name;        this.computer=computer;    }    public void useComputer(){        System.out.println(computer.useCoputer());    }    @Override    public String toString() {        return "Student [name=" + name + ", computer=" + computer + "]";    }}<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">    <bean id="computer1"  class="com.learnSpring05.Computer"></bean>    <bean id="student1" class="com.learnSpring05.Student">     <constructor-arg value="凯耐"></constructor-arg>     <constructor-arg   ref="computer1"></constructor-arg>    </bean></beans>package com.learnSpring05;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class testStudent {    @Test    public void testStudent(){        ApplicationContext c=new ClassPathXmlApplicationContext("bean03.xml");         Student s=(Student) c.getBean("student1");         s.useComputer();         System.out.println(s);    }}控制台输出结果为: 帮助学生提高学习效率Student [name=凯耐, computer=com.learnSpring05.Computer@72b6cbcc]

(四) 注入集合为基本类型数据

package com.learnSpring05;public class Computer {    public String useCoputer(){         return "帮助学生提高学习效率";    }}package com.learnSpring05;import java.util.List;public class Student {    private String name;    private Computer computer;    private List<String> booklist;    public Student(String name, Computer computer, List<String> booklist) {        this.name = name;        this.computer = computer;        this.booklist = booklist;    }    public void useComputer(){        System.out.println(computer.useCoputer());    }    @Override    public String toString() {        return "Student [name=" + name + ", computer=" + computer + ", booklist=" + booklist + "]";    }}<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">    <bean id="computer1"  class="com.learnSpring05.Computer"></bean>    <bean id="student1" class="com.learnSpring05.Student">     <constructor-arg value="凯耐"></constructor-arg>     <constructor-arg   ref="computer1"></constructor-arg>     <constructor-arg>     <list>         <value>Mysql</value>         <value>Java</value>         <value>Spring</value>         <value>Hibernate</value>         <value>Struts2</value>      </list>     </constructor-arg>    </bean></beans>package com.learnSpring05;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class testStudent {    @Test    public void testStudent(){        ApplicationContext c=new ClassPathXmlApplicationContext("bean03.xml");         Student s=(Student) c.getBean("student1");         s.useComputer();         System.out.println(s);    }}控制台输出结果为:帮助学生提高学习效率Student [name=凯耐, computer=com.learnSpring05.Computer@6acdbdf5, booklist=[Mysql, Java, Spring, Hibernate, Struts2]]总结:注入map、set集合和注入list集合一样,要把标签<list>改为相应元素。

(五) 注入集合为类类型数据

package com.learnSpring05;public class Computer {    public String useCoputer(){         return "帮助学生提高学习效率";    }}package com.learnSpring05;import java.util.List;public class Student {    private String name;    private Computer computer;    private List<Computer> booklist;    public Student(String name, Computer computer, List<Computer> booklist) {        this.name = name;        this.computer = computer;        this.booklist = booklist;    }    public void useComputer(){        System.out.println(computer.useCoputer());    }    @Override    public String toString() {        return "Student [name=" + name + ", computer=" + computer + ", booklist=" + booklist + "]";    }}<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">    <bean id="computer1"  class="com.learnSpring05.Computer"></bean>    <bean id="student1" class="com.learnSpring05.Student">     <constructor-arg value="凯耐"></constructor-arg>     <constructor-arg   ref="computer1"></constructor-arg>     <constructor-arg>     <list>          <ref  bean="computer1"/>      </list>     </constructor-arg>    </bean></beans>package com.learnSpring05;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class testStudent {    @Test    public void testStudent(){        ApplicationContext c=new ClassPathXmlApplicationContext("bean03.xml");         Student s=(Student) c.getBean("student1");         s.useComputer();         System.out.println(s);    }}控制台输出结果为:帮助学生提高学习效率Student [name=凯耐, computer=com.learnSpring05.Computer@6acdbdf5, booklist=[com.learnSpring05.Computer@6acdbdf5]]
原创粉丝点击