码迷,mamicode.com
首页 > 编程语言 > 详细

SpringIDI_Setter方法

时间:2015-11-02 00:06:07      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:

DI:依赖注入:

给属性赋值,提供了(XML)两种方案给属性赋值

方式:

1.Setter方法

2.构造函数

public class Person{

  private Long pid;

  private String name;

  //setter和getter方法

}

 

名词解释:

  在Spring容器中给对象属性赋值就叫装配

  DI注入就是给属性赋值的过程

 

1.ApplicationContext.xml

<?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-2.5.xsd">
        
    <bean id="person" class="com.spring.di.xml.setter.Person">
        <!-- 
            property就是一个bean的属性
            name:用来描述属性的名称
            value就是值,如果是一般类型(基本类型和Stirng)
            
            
         -->    

        <property name="pid" value="1"></property>
        <property name="name" value="狗蛋"></property>
        
        <!-- Spring容器内部创建的student对象给person的student对象赋值了 -->
        <property name="student">
            <ref bean="student"/>            
        </property>
        
        <property name="list">
            <list>
                <value>list1</value>
                <value>list2</value>
                <value>list3</value>
                <ref bean="student"/>
            </list>
        </property>
        
        
        <property name="sets">
            <set>
                <value>set1</value>
                <value>set1</value>
                <ref bean="student"/>
            </set>
        </property>
        
        
         <property name="map">
             <map>
                 <entry key="m1">
                     <value>map1</value>
                 </entry>
                 <entry key="m2">
                     <ref bean="student"/>
                 </entry>
             </map>
         </property>
        
        <property name="properties">
            <props>
                <prop key="p1">prop1</prop>
                <prop key="p2">prop2</prop>
            </props>
        </property>
        
        <property name="objects">
            <list>
                <value>obj1</value>
                <ref bean="student"/>
            </list>
        </property>
        
        
    </bean>
    
    <bean id="student" class="com.spring.di.xml.setter.Student"></bean>    
    
        
</beans>

 

 

测试代码

Person

 1 package com.spring.di.xml.setter;
 2 
 3 import java.util.List;
 4 import java.util.Map;
 5 import java.util.Properties;
 6 import java.util.Set;
 7 
 8 public class Person {
 9     
10     private Long pid;
11     private String name;
12     private Student student;
13     private List list;
14     private Set sets;
15     private Map map;
16     private Properties properties;
17     private Object[] objects;
18     
19     public Long getPid() {
20         return pid;
21     }
22     public void setPid(Long pid) {
23         this.pid = pid;
24     }
25     public String getName() {
26         return name;
27     }
28     public void setName(String name) {
29         this.name = name;
30     }
31     public Student getStudent() {
32         return student;
33     }
34     public void setStudent(Student student) {
35         this.student = student;
36     }
37     public List getList() {
38         return list;
39     }
40     public void setList(List list) {
41         this.list = list;
42     }
43     public Set getSets() {
44         return sets;
45     }
46     public void setSets(Set sets) {
47         this.sets = sets;
48     }
49     public Map getMap() {
50         return map;
51     }
52     public void setMap(Map map) {
53         this.map = map;
54     }
55     public Properties getProperties() {
56         return properties;
57     }
58     public void setProperties(Properties properties) {
59         this.properties = properties;
60     }
61     public Object[] getObjects() {
62         return objects;
63     }
64     public void setObjects(Object[] objects) {
65         this.objects = objects;
66     }
67 
68 }

 

 

Studnet

 

package com.spring.di.xml.setter;

public class Student {

    public void say(){
        
        System.out.println("student");
    }
    
}

 

 

 

测试代码

package com.spring.di.xml.setter.test;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.spring.di.xml.setter.Person;

public class DIXMLTest {
    
    @Test
    public void testDI_XML_Setter(){
        
        ApplicationContext context=
                new ClassPathXmlApplicationContext("applicationContext.xml");
        
        Person person=(Person) context.getBean("person");
        
        System.out.println(person.getName());
        System.out.println(person.getList().size());
        
        
        
        
    }
    

}

 

 

输出:

狗蛋
4

 

 

 

SpringIDI_Setter方法

标签:

原文地址:http://www.cnblogs.com/thinkpad/p/4928857.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!