Spring:特殊數據類型的屬性注入(基於配置文件)


該處提到的特殊數據類型指的是除了基礎數據類型和String以外的其他常用的數據類型,如:List、Map、Set、以及pojo對象等。則我們創建的Person類定義為:

package bjtu.wellhold.testSpring;

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

import org.springframework.stereotype.Repository;

//@Repository("person")
public class Person {

    private String name;  
    private int age;  
    private double money;  
    private List<String> list;  
    private Set<String> set;  
    private Map<String,String> map;  
    private String[] array;  
    private Properties properties;  
    private User user;  
    
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public double getMoney() {
        return money;
    }
    public void setMoney(double money) {
        this.money = money;
    }
    public List<String> getList() {
        return list;
    }
    public void setList(List<String> list) {
        this.list = list;
    }
    public Set<String> getSet() {
        return set;
    }
    public void setSet(Set<String> set) {
        this.set = set;
    }
    public Map<String, String> getMap() {
        return map;
    }
    public void setMap(Map<String, String> map) {
        this.map = map;
    }
    public String[] getArray() {
        return array;
    }
    public void setArray(String[] array) {
        this.array = array;
    }
    public Properties getProperties() {
        return properties;
    }
    public void setProperties(Properties properties) {
        this.properties = properties;
    }
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
    
    @Override
    public String toString() {
        return "Person [name=" + name + ", age=" + age + ", money=" + money + ", list=" + list + ", set=" + set
                + ", map=" + map + ", array=" + Arrays.toString(array) + ", properties=" + properties + ", user=" + user
                + "]";
    }

}

因為還涉及到向我們的Person當中注入一個Pojo類,所以我們再定義一個Pojo類叫User:

package bjtu.wellhold.testSpring;

public class User {

    private int age;
    private String username;
    private String password;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User [age=" + age + ", username=" + username + ", password=" + password + "]";
    }
}

之后則需要到我們的配置文件當中去進行配置,配置文件如下:

<?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:aop="http://www.springframework.org/schema/aop"  
    xmlns:context="http://www.springframework.org/schema/context"  
    xsi:schemaLocation="
       http://www.springframework.org/schema/beans  
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
       http://www.springframework.org/schema/aop  
       http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
       http://www.springframework.org/schema/context  
       http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <!-- 對要注入的User類進行注冊和通過Setter進行屬性注入 -->
    <bean id="user" class="bjtu.wellhold.testSpring.User">
        <property name="username" value="wellhold"></property>
    </bean>

    <!-- 可以參考各個特殊數據類型是如何進行屬性注入的 -->
    <bean id="person" class="bjtu.wellhold.testSpring.Person">  
        <property name="name">  
            <value>Tom</value>  
        </property>  
        <property name="age">  
            <value>28</value>  
        </property>  
        <property name="money">  
            <value>100.9</value>  
        </property>  
        <property name="list">  
            <list>  
                <value>shandong</value>  
                <value>杭州</value>  
                <value>xihu</value>  
            </list>  
        </property>  
        <property name="set">  
            <set>  
                <value>13900</value>  
                <value>13900</value>  
                <value>13800</value>  
            </set>  
        </property>  
        <property name="map">  
            <map>  
                <entry>  
                    <key>  
                        <value>key1</value>  
                    </key>  
                    <value>value1</value>  
                </entry>  
                <entry key="key2" value="value2">  
                </entry>  
            </map>  
        </property>  
        <property name="array">  
            <list>  
                <value>xiaoh</value>  
                <value>xiaob</value>  
            </list>  
        </property>  
        <property name="properties">  
            <props>  
                <prop key="pp1">pp1Value</prop>  
                <prop key="pp2">pp2Value</prop>  
            </props>  
        </property>  
        <property name="user">  
            <ref bean="user"/>  
        </property>  
    </bean>  

</beans>

以上是通過配置文件的形式去進行特殊數據類型的屬性注入的。

 

本文參考http://blog.csdn.net/niuniu20008/article/details/12559797的部分,並且通過自己嘗試之后,攢寫該文用於記錄,以便今后使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM