spring 属性注入

注入方式

  • set方法注入
<bean name="person" class="com.gjh.Person">
    <!-- 值类型注入 -->
    <perporty name="name" value="gjh" />
    <perporty name="age" value="20" />
    <!-- 引用类型注入 -->
    <perporty name="car" ref="car" />
</bean>
  • 构造函数注入
<bean name="person" class="com.gjh.Person">
    <!-- name属性:构造函数的参数名 -->
    <!-- index属性:构造函数的参数索引 -->
    <!-- type属性:构造函数的参数类型 -->
    <constructor-arg name="name" index="0" type="java.lang.Integer" value="666" />
    <constructor-arg name="car" index="1" ref="car" />
</bean>
  • p名称空间注入
<!-- p名称空间注入,走set方法
    导入p名称空间 xmlns="http://www.springframework.org/schema/p"
    使用p:属性注入完成
        值类型:p:属性名="值"
        对象类型:p:属性名-ref="bean名称"
-->
    <bean name="perosn" class="com.gjh.Person" p:name="gjh" p:age="20" p:car-ref="car" />
  • spel注入
<!-- spel注入:spring Expression Lanuage spring表达式语言 -->
<bean name="person" class="com.gjh.Person"
    <property name="name" value="#{user.name}" />
    <property name="age" value="#{user.age}" />
    <property name="car" ref="car" />
</bean>

复杂类型注入

  • 数组
<!-- 如果数组中只准备注入一个值(对象),直接使用value(ref)即可 -->
<property name="arr" value="gjh" />
<!-- 多个元素注入 -->
<property name="arr">
    <array>
        <value>tom</value>
        <value>baary</value>
        <ref bean="car" />
    </array>
</property>
  • List
<!-- 如果List中只准备注入一个值(对象),直接使用value(ref)即可 -->
<property name="arr" value="gjh" />
<!-- 多个元素注入 -->
<property name="list">
    <list>
        <value>tom</value>
        <value>baary</value>
        <ref bean="car" />
    </list>
</property>
  • Map
<!-- mp类型注入 -->
<property name="list">
    <map>
        <entry key="url" value="jdbc:mysql:///gjh" ></entry>
        <entry key="person" value-ref="person" ></entry>
        <entry key-ref="person" value-ref="person" ></entry>
    </map>
</property>
  • Properties
<!--Properties 类型注入 -->
<property name="list">
    <props>
        <prop key="driveClass">com.jdbc.mysql.Drive</value>
        <prop key="userName">root</prop>
        <prop key="password">xxxx</prop>
    </props>
</property>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值