美文网首页
Bean的常用配置---属性注入

Bean的常用配置---属性注入

作者: heen11 | 来源:发表于2018-06-08 10:22 被阅读0次

                            Spring的属性注入

对于类成员变量,注入方式有三种

    构造函数注入

    属性setter方法注入

    接口注入

Spring支持前两种

            Spring的属性注入-杓造方法注入

    通过构造方法注入Bean的属性值或依赖的対象,它保证了Bean实例在实例化后就可以使用。

    构造器注入在<constructor-arg>元素里声明的属性

<constructor-arg name="xxx" value="xxx"/>

name为变量,value为你要设置的值

这种设置的方法,要设置的类必须要有有参的构造方法

                Spring的属性注入-set方法注入

使用set方法注入,在Spring配置文件中,通过<property>设置注入的属性

<property name=" xxx  " value="xxx"/>

name为变量,value为你要设置的值

这种设置方法,要设置的类必须有set方法

如果要设置的值有其它对象,则要配置Bean设置值,然后再通过

<property name="xxx" ref="xxx"/>

ref是你配置好的对象的bean的id

                Spring的属性注入-p名称空间

使用p命名空间

为了简化XML文件配置, Spring从2.5开始引入一个新的p名称空间

p:<属性名>="xx"引入常量值(普通值)

p:<属性名>-ref="xxx"引用其它Bean対象(对象)

首先在xml中引入P命名空间

xmlns:p="http://www.springframework.org/schema/p"

<bean id="person" class="com.jiaoshou.ioc.demo4.Person" p:name="叫兽" p:age="18"/>

                Spring的属性注入-SpEL注入

SpEL : spring expression language , spring表达式语言,对依赖注入进行简化

语法: #{表达式}

<bean id="" value="#{表达式}">

            SpEL表达式语言

                语法: #{}

                #{ 'hello' } :使用字符串

                #{beanId} :使用另一个bean

                #{beanId.content.toUpperCase()}:使用指定名属性,并使用方法

                #{T(java.lang.Math).PI} :使用静态字段或方法

                            复杂类型的属性注入

数组类型的属性注入

<property name="arrs">

    <list>

        <value>a1</value>

        <value>a2</value>

        <value>a3</value>

    </list>

</property>

List集合类型的属性注入

<property name="list">

    <list>

        <value>b1</value>

        <value>b2</value>

        <value>b3</value>

    </list>

</property>

Set集合类型的属性注入

<property name="set">

    <set>

        <value>c1</value>

        <value>c2</value>

        <value>c3</value>

    </set>

</property>

Map集合类型的属性注入

<property name="map">

        <map>

            <entry key="k1" value="111"/>

            <entry key="k2" value="222"/>

            <entry key="k3" value="333"/>

        </map>

</property>

Properties类型的属性注入

<property name="properties">

    <props>

        <prop key="username">admin</prop>

        <prop key="password">123</prop>

    </props>

</property>

相关文章

网友评论

      本文标题:Bean的常用配置---属性注入

      本文链接:https://www.haomeiwen.com/subject/tiposftx.html