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

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

作者: 杨凯飞 | 来源:发表于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