使用Spring的特殊bean

来源:互联网 发布:单片机教程视频 编辑:程序博客网 时间:2024/05/16 15:22

使用Spring的特殊bean

特殊bean的作用:

1、  通过配置后加工Bean,涉及到BeanBean工厂的生命周期

2、  从外部配置文件中加载配置信息

3、  改变Spring的依赖注入,使其在设置Bean属性时,自动将字符串转换成其他类型

4、  从属性文件中加载文本信息,包括国际化信息

5、  监听并处理由其他Bean以及Spring容器发布的系统消息

6、  知道其在Spring容器的唯一标识

Bean进行后处理

         后处理是在Bean实例化及装配完成之后发生的。在Bean被创建以及装配之后,BeanPostProcessor接口提供两次修改Bean的机会

package cn.csdn.hr.service;

importorg.springframework.beans.BeansException;

importorg.springframework.beans.factory.config.BeanPostProcessor;

public class PersonServiceBean  implements BeanPostProcessor{

         //第一个方法初始化beanafter之后的操作

         @Override

         publicObject postProcessAfterInitialization(Object bean, String beanName)

                            throwsBeansException {

         }

         //初始化之前的操作

         @Override

         publicObject postProcessBeforeInitialization(Object bean, String beanName)

                            throwsBeansException {

         }

其中postProcessBeforeInitialization()方法在Bean初始化(即调用afterPropertties()Bean指定的initmethod方法)之前调用,同样postProcessAfterInitialization()方法在初始化之后立即调用

Bean工厂进行后处理

BeanFactoryPostProcessorBean工厂载入所有Bean的定义后,实例化Bean之前,对Bean工程做一些后处理工作。

public class StudentServiceBean implementsBeanFactoryPostProcessor{

 

         @Override

         publicvoid postProcessBeanFactory(ConfigurableListableBeanFactory arg0)

                            throwsBeansException {

                     //在这里处理bean操作

                   arg0.addBeanPostProcessor(newBeanPostProcessor() {

         }

}

原创粉丝点击