【SSH快速进阶】——Spring属性注入



  上篇介绍了Spring IOC容器管理Bean的几种方式,IOC容器会帮助我们管理配置好的Bean及其之间的依赖关系。

  除了管理我们自定义的类之间的依赖关系,Spring还可以帮助我们注入一些常用的属性。比如String、int、List、Set等~



  比如下面Bean1这个类,IOC容器在启动的时候也可以自动为它的这些属性赋值。

public class Bean1 {
    private String strValue;
    private int intValue;
    private List listValue;
    private Set setValue;
    private String[] arrayValue;
    private Map mapValue;
    //setter、getter
}



  这里仍然用setter注入的方式为Bean1的属性赋值,配置如下:

<bean id="bean1" class="com.danny.spring.Bean1">
    <property name="strValue">
        <value>Hello_Springvalue>
    property>

    <property name="intValue" value="123456">property>

    <property name="listValue">
        <list>
            <value>list1value>
                <value>list2value>
        list>
    property>

    <property name="setValue">
        <set>
            <value>set1value>
            <value>set2value>
        set>
    property>

    <property name="arrayValue">
        <list>
            <value>array1value>
            <value>array2value>
        list>
    property>

    <property name="mapValue">
        <map>
            <entry key="k1" value="v1">entry>
            <entry key="k2" value="v2">entry>
        map>
    property>
bean>



  启动Spring容器,分别打印每个属性的值:

public void testInjection(){
    Bean1 bean1=(Bean1)beanFactory.getBean("bean1");
    System.out.println(bean1.getStrValue());
    System.out.println(bean1.getIntValue());
    System.out.println(bean1.getListValue());
    System.out.println(bean1.getSetValue());
    System.out.println(bean1.getArrayValue());
    System.out.println(bean1.getMapValue());
}



  测试结果如下:

Hello_Spring
123456
[list1, list2]
[set1, set2]
[Ljava.lang.String;@3465f515
{k1=v1, k2=v2}



【 转载请注明出处——胡玉洋《【SSH快速进阶】——Spring属性注入》】

你可能感兴趣的:(●,进阶之路)