Spring中BeanFactory配置文件的元素解析

来源:互联网 发布:免费抢红包软件 编辑:程序博客网 时间:2024/05/05 02:04

<?xml version="1.0" encoding="UTF-8"?>
!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<!--配置文件的根目录--->
<beans>

<!--配置一个bean-->
<bean
        <!--可以有一个或者多个id,这些id必须保持唯一,使用id的一个好处在于:让xml解析器对id的属性值做额外校验-->
        {id|name} = "mybean" 
       
        class = "prodream.com.MyBean"
      
        <!--是否使用单例模式,bean被定义为singleton时,全局共享一个这样的bean-->
        Singleton = "false"      

        <!--生命周期—在容器完成它的所有必须属性后,执行intMethod完成初始化-->
        init-method = "initMethod"
               
        <!--生命周期—在bean被销毁是获得一个destroyMethod回调-->
        destroy-method ="destroyMethod"      

        <!--自动装配-->
        autowire = "[byName|byType|constructor|antodetect]"

        <!--使用实例工厂方法的类来创建该bean的类的bean的注射-->
        factory-bean="factoryName"

        <!--{使用实例工厂方法创建该bean的类的方法|使用静态工程方法来创建该bean的方法}-->
        factory-method="factoryMethod"
       
        <!--指定mybean依赖于一个bean,在初始化mybean之前会强制初始化依赖类-->
        dependens-on="beanName"
       
        <!--依赖检查{不进行检查|只对基本数据类型和集合进行检查|对协作者进行检查|都检查--->
        dependens-check="{none|simple|object|all}"
        
        <!--lookup方法注射-->
        <look-method name="method" bean="returnBeanName"/>
    >

   //基于构造方法来注射协同类,对应 setXXX(BeanType beanName_1);也可以这样写<property name="XXX" ref="beanName_1"/>
   <constructor-arg name="XXX">
       <ref bean="beanName_1"/>
   </constructor-arg>
    
   //基于设值方法来注射协同类,对应setXXX(BeanType beanName_2);也可以这样写<property name="YYY" ref="beanName_2"/>
   <property name="YYY">
       <ref bean="beanName_2">
   </property>
  
   //
   <constructor-agr type="{int|java.lang.String|boolean..}">
        <value type="dataType">data</value>
   </constructor-agr>

   //使用value设定属性,也可以这样写<property name="ZZZ" value="data"/>
   <property name="ZZZ">
         <value>data
         </value>
   </property>
  
</bean>

//一个BeanFactory配置文件中可以定义多bean子元素
<bean name="beanName_1" class="prodream.com.bean_1"/>
<bean name="beanName_2" class="prodream.com.bean_2"/>

</beans>

原创粉丝点击