20200111——spring set注入

set方法注入
涉及的标签:
property 出现的位置,在bean标签的内部
标签的属性
name属性指定注入时调用的set方法名称
value和ref跟上一个构造方法一样

只有set方法的实体类

    <bean id="accountService2" class="com.itheima.service.impl.AccountServiceImpl2">
        <property name="name" value="test"></property>
        <property name="age" value="21"></property>
        <property name="birthday" ref="now"></property>
    </bean>

依赖注入的实现

    <bean id="accountService2" class="com.itheima.service.impl.AccountServiceImpl2">
        <property name="name" value="test"></property>
        <property name="age" value="21"></property>
        <property name="birthday" ref="now"></property>
    </bean>

set方法优势,没有明确的限制,可以直接默认构造函数
弊端:如果有某个成员必须有值,set方法无法保证一定注入

复杂数据注入
集合数据注入

 <bean id="accountService3" class="com.itheima.service.impl.AccountServiceImpl3">
        <property name="myStrs">
            <array>
                <value>AAA</value>
                <value>BBB</value>
                <value>CCC</value>
            </array>
        </property>
        <property name="myList">
            <list>
                <value>AAA</value>
                <value>BBB</value>
                <value>CCC</value>
            </list>
        </property>

name就是写数据的名字,但是内部用标签的形式继续进行索引。数组用array,列表用list

用于给list结构集合注入的标签,有list array set
用于给map结构集合注入的标签: map props
结构一样,标签可以互换

下面加上map和props标签的

        <property name="myProperty">
            <props>
               <prop key="testC">ccc</prop>
            </props>
        </property>
        <property name="myMap">
            <map>
                <entry key="testA" value="AAA"></entry>
            </map>
        </property>

内容总结

发布了657 篇原创文章 · 获赞 39 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_36344771/article/details/103939007