Spring——bean标签

简介

  Spring:将对象配置到容器内,通过容器获取对象!

  

使用

  1. Spring需要在resource中使用applicationContext.xml进行配置。

  2. 编写Java类

  2. 使用<bean>标签配置对象。

 

标签

<bean>

  作用:在spring容器中配置对象。

  属性

    id:bean在Spring内的唯一标识

    class:全限定类名

    scope:对象的操作范围

      singleton:默认,单例。容器中该对象唯一。生命周期:随applicationContext加载时创建,applicationContext销毁时销毁

      prototype:多例。容器中该对象多例。声明周期:调用applicationContext.getBean("id")时创建,对象不使用时销毁。

  内部标签

    <property>

      作用:对bean对象的成员变量初始化。使用set方法

      属性

        name:set的方法名。

        ref:引用spring容器内对象

  

    <constructor-arg>

      作用:对bean对象的成员变量初始化。使用有参构造方法

      属性

        name:有参构造参数名

        ref:应用spring容器内对象

 

    

基本数据类型,引用数据类型,集合类型等成员变量的初始化

  从上可知:初始化成员变量有<property>代表set方法。<constructor-arg>代表有参构造。对于引用数据类型初始化使用ref属性,引用spring容器内对象即可。

  基本数据类型:

    <property>中使用value=""属性赋值

      String username;

      <property name="username" value="张三">    

  引用数据类型:

    List:使用<list>标签赋值。 Map<T,T>使用<map>标签赋值

 

      List<String> strArray

    <property name="strArray">

      <list>

        <value>aaa</value>

      </list>

    </property>

    

      Map<String,Book> bookMap

    <property name="bookMap">

      <map>

        <entry key="book1" ref="b1">:key:键。ref:引用spring容器内对象

      </map>

    </property>

 

使用

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="user1" class="xyz.javaswing.spring03.domain.User">
        <property name="username" value="张三"/>
        <property name="age" value="17"/>
        <property name="strArray">
            <list>
                <value>aaa</value>
                <value>bbb</value>
                <value>ccc</value>
            </list>
        </property>
    </bean>

    <bean id="user2" class="xyz.javaswing.spring03.domain.User">
        <property name="username" value="李四"/>
        <property name="age" value="18" />
        <property name="strArray">
            <list>
                <value>111</value>
                <value>222</value>
                <value>333</value>
            </list>
        </property>
    </bean>

    <bean id="book" class="xyz.javaswing.spring03.domain.Book">
        <property name="bookName" value="三国演义"/>
        <property name="author" value="罗贯中"/>
        <property name="map">
            <map>
                <entry key="a" value="1"></entry>
                <entry key="b" value="2"></entry>
                <entry key="c" value="3"></entry>
            </map>
        </property>
    </bean>

    <bean id="userDao" class="xyz.javaswing.spring03.dao.UserDao"></bean>
    <bean id="bookDao" class="xyz.javaswing.spring03.dao.BookDao"></bean>

    <bean id="userService" class="xyz.javaswing.spring03.service.UserService">
        <property name="userDao" ref="userDao"/>
    </bean>

    <bean id="bookService" class="xyz.javaswing.spring03.service.BookService">
        <property name="bookDao" ref="bookDao"/>
    </bean>
    
</beans>

 

 

  <import resource="applicationContext-xxx.xml"/>

  import:导入其他模块的applicationContext配置文件

上一篇:VRRP热备?也可用在无线局域网


下一篇:ASE19团队项目beta阶段Backend组 scrum5 记录