美文网首页
SpringStudy之Bean(1)

SpringStudy之Bean(1)

作者: 烟因火起 | 来源:发表于2020-05-29 15:22 被阅读0次

    一,Bean注入

    在Sping中Bean注入有两种,Set注入和构造注入。两种注入方式都需要传入class的完整路径。

    A,Set注入

    <bean id="" class="">
        <property name="">
            <value></value>
        </property>
        //更多属性继续添加property 即可
    <bean>
    
    注意

    1,使用Set方式注入,需要实体内中有默认的无参构造方法。如果自己定义了有参构造函数,还需要提供无参构造函数,否则出错。
    2,使用property 配置的属性必须都要有Set方法。可以使用lombok来实现Set、Get方法。IDEA使用lombok需要打开annotation processing。

    B,构造函数注入

    <bean id=""  class="">
        <constructor-arg index="0">
            <value></value>
        </constructor-arg>
        //更多属性继续添加property 即可 注意index的值
    <bean>
    

    index表示构造函数中参数的位置,从0开始。

    二,Bean的模式

    Spring中bean有两种模式,singleton和non-singleton。
    1,non-singleton模式,每次获取都是一个新的对象,相当于每次都new一个对象。
    2,singleton模式,使用同一个id多次获取,得到都是同一个对象。singleton针对的是id。两个不同的id获取到的一定是两个不同的对象,哪怕它们两个是同一个类的对象。
    3,spring中Bean的默认模式是singleton。

    三,List、Map、Properties的注入

    1,List注入

        <bean name="" class= "">
            <property name="">
                <list>
                    <value></value>
                    <value></value>
                    <value></value>
                </list>
            </property>
        </bean>
    

    2,Map注入

        <bean name=""  class="">
            <property name="">
                <map>
                    <entry key="">
                        <value></value>
                    </entry>
                    <entry key="">
                        <value></value>
                    </entry>
                </map>
            </property>
        </bean>
    

    3,Properties注入

        <bean name="" class="">
            <property name="">
                <props>
                    <prop key=""></prop>
                    <prop key=""></prop>
                    <prop key=""></prop>
                </props>
            </property>
        </bean>
    

    相关文章

      网友评论

          本文标题:SpringStudy之Bean(1)

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