SpringBean管理——XML方式

2018-05-16  本文已影响0人  ZHU_WD

1.三种实例化Bean的方式

2.Bean的常用配置

3.Bean的作用域(由scope属性来指定)

4.Bean的生命周期

Spring初始化Bean或销毁Bean的时候,有时需要做一些处理工作,因此Spring可以在创建或销毁Bean时调用Bean的两个生命周期方法

<bean id="xxx" class="......" init-method="init" destory-method="destory">
当bean被载入到容器的时候调用init;
当bean从容器中删除的时候调用destory(scope=singleton时有效)
1.instantiate bean对象实例化
2.populate properties封装属性
3.如果Bean实现BeanNameAware执行setBeanName
4.如果Bean实现BeanFactoryAware或者ApplicationContextAware设置工厂setBeanFactory或者上下文对象setApplicationContext
5.如果存在类实现BeanPostProcessor(后处理Bean),执行postProcessBeforeInitialization,可以对我们的类进行增强
6.如果Bean实现InitializingBean执行afterPropertiesSet
7.调用<bean init-method=“init”>指定初始化方法init如果存在类实现BeanPostProcessor(处理Bean),执行postProcessAfterInitialization
8.执行业务处理
9.如果Bean实现DisposableBean执行destory

10.调用<bean destory-method=“destory”>指定销毁方法destory

5.DI——属性注入

对于类成员变量,注入方式有三种:

1.构造方法的属性注入:

2.set方法的属性注入(常用):

3.P名称空间的属性注入

4.SpEL的属性注入

  #{'hello'} :使用字符串
  #{beanId}:使用另一个bean
  #{beanId.方法名()}:使用指定名属性,并使用方法
  #{T(java.lang.Math).PI}:使用静态字段或方法

5.复杂类型的属性注入

<bean id="" class="">
//数组类型的属性注入
  <property name="">
    <list>
      <value>xxx</value>
      <value>xxx</value>
    </list>
  </property>
//List集合类型的属性注入
  <property name="">
    <list>
      <value>xxx</value>
      <value>xxx</value>
    </list>
  </property>
//Set集合类型的属性注入
  <property name="">
    <set>
      <value>xxx</value>
      <value>xxx</value>
    </set>
  </property>
//Map集合类型的属性注入
  <property name="">
    <map>
      <entry key="aaa" value="111" />
      <entry key="bbb" value="222" />
      <entry key="ccc" value="333" />
    </map>
  </property>
//Properties类型的属性注入
  <property name="">
    <props>
      <prop key="username">root</prop>
      <prop key="password">123</prop>
    </props>
  </property>
</bean>
上一篇 下一篇

猜你喜欢

热点阅读