set注入(主流)

    • 名称property
    • 类型:标签
    • 归属:bean标签
    • 作用:使用set方法的形式为bean提供资源
    • 格式

      1. <bean>
      2. <property />
      3. <bean>

      基本属性:

      1. <property name="propertyName" value="propertyValue" ref="beanId"
    • name:对应bean中的属性名,要求该属性必须提供可访问的set方法(严格规范为此名称是set方法对应名称)

    • value:设定非引用类型属性对应的值,不能与ref同时使用
    • ref:设定引用类型属性对应的bean的id,不能与value同时使用

    引用类型:
    1、定义一个私有变量,编写set方法。
    2、在spring配置文件中声明要注入的资源
    3、在通过property注入

    1. 1
    2. private UserDao userDao;
    3. // 1、对需要进行注入的变量添加set方法
    4. public void setUserDao(UserDao userDao) {
    5. this.userDao = userDao;
    6. }
    7. 2
    8. <!-- 将要注入的资源声明为bean -->
    9. <bean id="userDao" class="com.example.dao.Impl.UserDaoImpl" />
    10. 3
    11. <bean id="userService" class="com.example.service.impl.UserServiceImpl">
    12. <property name="userDao" ref="userDao" />
    13. </bean>

    非引用类型:
    1、定义私有变量,编写set方法
    2、使用property注入

    1. 1
    2. private int num;
    3. // 1、对需要进行注入的变量添加set方法
    4. public void setNum(int num) {
    5. this.num = num;
    6. }
    7. 2
    8. <bean id="userService" class="com.example.service.impl.UserServiceImpl">
    9. <property name="userDao" ref="userDao" />
    10. <property name="num" value="666"/>
    11. </bean>

    ps:注入对象使用ref进行注入
    其他:使用value进行注入

    集合类型数据注入

    • 名称:array,list,set,map,props
    • 类型:标签
    • 归属:property标签 或 constructor-arg标签
    • 租用:注入集合数据类型属性
    • 格式

      1. <property>
      2. <list></list>
      3. </property>
      1. <bean id="BookDao" class="com.example.dao.Impl.BookDaoImpl">
      2. <property name="al">
      3. <list>
      4. <value>cesi</value>
      5. <value>6666</value>
      6. </list>
      7. </property>
      8. <property name="properties">
      9. <props>
      10. <prop key="name">cesi666</prop>
      11. <prop key="value">6666</prop>
      12. </props>
      13. </property>
      14. <property name="arr">
      15. <array>
      16. <value>123456</value>
      17. <value>6666</value>
      18. </array>
      19. </property>
      20. <property name="hs">
      21. <set>
      22. <value>cesi</value>
      23. <value>6666</value>
      24. </set>
      25. </property>
      26. <property name="hm">
      27. <map>
      28. <entry key="name" value="map666" />
      29. <entry key="name" value="map777" />
      30. </map>
      31. </property>
      32. </bean>