首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring基础-BeanFactory跟ApplicationContext

2012-08-27 
Spring基础-BeanFactory和ApplicationContextbean的创建1.通过构造方法创建beanbean idexampleBeanfac

Spring基础-BeanFactory和ApplicationContext
bean的创建
1.通过构造方法创建bean
  <bean id="exampleBean"
        factory-method="createInstance">
     <constructor-arg><ref bean="fristBean"/><constructor-arg/>
     <constructor-arg><ref bean="secondBean"/><constructor-arg/>
     <constructor-arg><value>1</value><constructor-arg/>
  </bean>
  ......
   class指定工厂类,factory-method指定工厂方法,必须为static
3.通过实例工厂方法创建bean
  <bean id="myFactoryBean"
        factory-bean="myFactoryBean" factory-method="createInstance"/>

bean中property元素的定义
  <property name="email"><null/></property>     null元素指定null值
  <property name="email"><value></value></property>  空字符串
 
  java的List,Set,Map和Properties类型对应的元素定义
  <props>
     <prop key="a">this is a</prop>
     <prop key="b">this is b</prop>
  </props>
  <list>
     <value>...</value>
     <ref bean="">
  </list>
  <map>
     <entry key="a">
        <value>aaa</value>
     </entry>
     <entry key="b">
        <value>bbb</value>
     </entry>
  </map>
   <set>
     <value>...</value>
     <ref bean="">
  </set>
 
  ref元素定义
  <ref bean="bean"/>          引用所有定义中的bean
  <ref local="localBean"/>    引用同一xml文件中定义的bean
  <ref parent="parentBean"/>  引用父ApplicationContext中定义的bean

自动装配注入对象
  <bean id="" autowire="byName"/>
  显示的指定依赖如property和construtor-arg元素,会覆盖自动装配

bean的生命周期接口
org.springframework.beans.factory.InitializingBean接口
org.springframework.beans.factory.DisposableBean接口
通过init-method和destroy-method元素来指定方法执行bean属性设置后的初始化操作,bean销毁回收前操作。
<bean id="" init-method="init"/>
<bean id="" destroy-method="close"/>

子bean定义
<bean id="parentBean" parent="parentBean">
   <property name="name"><value>Peter</value></property>
</bean>
继承,覆盖父类的配置数据,方法

<bean id="propertyConfigurer" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>

热点排行