首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337154

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

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

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

代码语言:javascript
复制
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的属性赋值,配置如下:

代码语言:javascript
复制
<bean id="bean1" class="com.danny.spring.Bean1">
    <property name="strValue">
        <value>Hello_Spring</value>
    </property>

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

    <property name="listValue">
        <list>
            <value>list1</value>
                <value>list2</value>
        </list>
    </property>

    <property name="setValue">
        <set>
            <value>set1</value>
            <value>set2</value>
        </set>
    </property>

    <property name="arrayValue">
        <list>
            <value>array1</value>
            <value>array2</value>
        </list>
    </property>

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

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

代码语言:javascript
复制
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());
}

  测试结果如下:

代码语言:javascript
复制
Hello_Spring
123456
[list1, list2]
[set1, set2]
[Ljava.lang.String;@3465f515
{k1=v1, k2=v2}

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

举报
领券