乐趣区

关于spring:Spring依赖注入

结构器注入

援用 之前的文章

set 办法注入

  1. 一般值注入,value
    pojo.java

    private String name;

    beans.xml

    <property name="name" value="向日葵"/>
  2. Bean 注入,ref
    pojo.java

    private Address address;

    beans.xml

    <property name="address" ref="address"/>
  3. 数组注入
    pojo.java

    private String[] books;

    beans.xml

    <property name="books">
     <array>
         <value> 红楼梦 </value>
         <value> 水浒传 </value>
         <value> 三国演义 </value>
     </array>
    </property>
  4. List 注入
    pojo.java

    private List<String> hobbies;

    beans.xml

    <property name="hobbies">
     <list>
         <value> 听歌 </value>
         <value> 敲代码 </value>
         <value> 看电影 </value>
     </list>
    </property>
  5. Map 注入
    pojo.java

    private Map<String,String> card;

    beans.xml

    <property name="card">
     <map>
         <entry key="身份证" value="111111111111"/>
         <entry key="银行卡" value="222222222222"/>
     </map>
    </property>
  6. Set 注入
    pojo.java

    private Set<String> games;

    beans.xml

    <property name="games">
     <set>
         <value>LOL</value>
         <value>COC</value>
         <value>BOB</value>
     </set>
    </property>
  7. null 注入
    pojo.java

    private String wife;

    beans.xml

    <property name="wife">
     <null/>
    </property>
  8. Properties 注入
    pojo.java

    private Properties info;

    beans.xml

    <property name="info">
     <props>
         <prop key="学号">20220201</prop>
         <prop key="性别"> 男 </prop>
         <prop key="姓名"> 向日葵 </prop>
     </props>
    </property>

拓展形式注入

  1. p 命名空间注入
    相当于 property 注入

    <!-- p 命名空间注入,能够间接注入属性的值:property-->
    <bean id="user" class="com.sunfl.pojo.User" p:name="向日葵" p:age="18"/>
  2. c 命名空间注入
    相当于结构器注入

    <!-- c 命名空间注入,通过结构器注入,construct-args-->
    <bean id="user2" class="com.sunfl.pojo.User" c:age="28" c:name="向日葵 2"/>

留神:p 命名空间和 c 命名空间不能间接应用,须要导入 xml 束缚!

xmlns:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"
退出移动版