spring中xml的javabean的配置

来源:互联网 发布:c语言有哪些复合语句 编辑:程序博客网 时间:2024/06/07 16:38

再做接口测试的过程中,有了ITEST接口测试工程的创建应该是很容易的事情。但配置,对开发工程依赖方面仍然是让人有点头疼的事情,尤其是对spring不大熟悉的同事吧。本文对spring基础知识做了些归总,希望对大家有点帮助。

一、bean的配置

在Spring中有三种方式来配置Bean之间的关系:XML配置文件、properties配置文件、编程方式。我们应该首选XML方式,下面主要讲解xml方式的配置。

1.bean的基本配置

举例说明<bean id=“testTargetInterfaceBean”            ass=”com.testTargetInterfaceBeanImple”><property name=”number1” value=”12”/>

<property name=”number2”>

      <value>12</value>

</property>

</bean>

基本类型(iTest支持的Spring版本被测bean的property可选)      <list>        <value>name</value>

        <value>25</value>

        <ref local=”personBean” />

      </list>

      <set>

        <value>1/value>

        <value>2/value>

      </set>

      <map>

        <entry key=”StrType”>

          <value>1243lue>

        </entry>

        <entry key=”intType”>

          <value>13</value>

        </entry>

        <entry key=”beanType”>

          <ref local=”StrType” />

        </entry>

      </map>

集合类型和数组<list><map><set>中的元素可以是:

①  value:基本类型

②  ref:指向一个bean

③  bean:bean定义

④  list,set,map,props:集合里有集合类型

注意:<value>配置的值Spring认为是String类型的,如果你想作为一个int型使用,必须List<int>或者Integer.parseInt(string)

    <property name=”propsType”>      <props>

        <prop key=”String1″>

          string1

        </prop>

        <prop key=”String2″>

          string2

        </prop>

      </props>

    </property>

java.util.Properties<bean id=”oneBean” class=”com.OneBean”><property name=”date1” ref=”dateBean”/>

<property name=”date2”>

<ref bean=”dateBean”/>

</property>

<property name=”date3”>

<bean class=”dateBean”/>

</property>

</bean>

<bean id=”dateBean” class=”com.DateBean”>

引用Beans配置文件中的某个Bean<bean id=”oneBean” class=”com.OneBean”><constructor-arg type=”int” value=”12″ />

</bean>

构造函数<bean id=”oneBean” class=”com.OneBean” singleton=”true”>   <lookup-method name=”createAxe” bean=” date”>

<property name=”date” ref=”dateBean”/>

</bean>

<bean id=”dateBean” class=”com.DateBean” singleton=”false”>

使得所引用的非单态bean总是Spring容器中最新的一个。createAxe:是oneBean中的一个抽象方法,将由Spring自动实现;” date”:是与createAxe的返回类型一样的bean在配置文件中的id号

 

    2.<bean>标签的常用属性

属性举例说明autowire<bean id=”oneBean” class=”com.OneBean” autowire =“byType”>自动装配:就是让Spring自动的去匹配一个Bean的所有属性,而不需要我们在配置文件里写任何属性的配置。自动装配分为五种类型:①no:不采用自动装配功能;②byName:根据Bean属性的名称匹配,如果找不到合适的bean就什么也不做;③byType:根据Bean属性的class类型匹配,如果找不到则什么也不做,如果找到多个则抛异常;④constructor:根据构造函数的参数类型自动装配构造函数,如果找不能根据配置文件中现有的bean构造其任何一个构造函数则抛出异常,如果找到多个合适的bean则选一个;⑤autodetect:spring根据情况自动选用byType或constructor;备注:①Spring默认采用no;②不推荐使用自动装配,因为可读性不好,很容易乱;③上面的②和③是只自动装配bean的属性,而④则是仅仅装配bean的构造函数,不自动装配属性;⑤Spring2.0目前不支持基本类型及数组等无法在配置文件中单独配置成一个bean的类型的自动装配。dependency-check<bean id=”oneBean” class=”com.OneBean” dependency-check =“object”>依赖检查:检查Bean之间的依赖关系。它分为四种类型:①none:不作任何的检查;②simple:只检查基本类型(如int,String等)和集合(如HashMap,Arraylist等);③object:仅对合作者Bean进行依赖检查;④all:作所有检查。备注:①Spring默认采用none;②建议不是用依赖检查,因为依赖检查要求bean的所有属性都正确配置,否则就抛出异常,这通常不是我们想要的,因为我们通常会让bean中的基本类型保持Java的默认,而不是一定要在配置文件中初始化。init-method 在Bean的全部依赖关系(构造函数,所有属性等)设置结束后自动被Spring调用destory-method 在Bean被销毁之前(即将被销毁)自动被Spring调用lazy-init 默认情况下Spring在启动时自动初始化所有的singleton的bean,如果把bean的lazy-init设置成true,则启动时不初始化该bean;也可以在<beans>中设置把所有的bean延迟到访问它们时才初始化,像这样,<beans default-lazy-init=”true”>      

 

3.Bean的分类及其生命周期

类型适用情况备注Singleton(单态)无限制在整个Spring容器中共享一份Prototype(原型)无限制每次请求一个原型的Bean,Spring都会创建一个新的对象返回Request(请求范围)只能使用在WEB环境中 Request范围的bean对于每一个请求都会建立一个bean实例 Session(会话范围)只能使用在WEB环境中 类似Request,它是每一个session共享一个实例Globle session(全局会话)只能使用在使用portlet的web程序中  
0 0
原创粉丝点击