FactoryBean ApplicatinContext BeanPostProcessor的作用

一、什么是FactoryBean

1、FactoryBean是Spring所提供的一种较灵活的创建Bean的方式,可以 通过实现FactoryBean接口中的getObject()方法来返回一个对象,这个对象就是最终的Bean对象

2、FactoryBean接口中的方法
Object getObject();返回Bean对象
Boolean isSingleton();返回是否是单例Bean对象
Class getObjectType();返回的是Bean对象的类型

@Component("xiaoxiong")
public class XiaoxiongFactoryBean implements FactoryBean {
    @Override
    public Object getObject() throws Exception {
        return  new User();
    }

    @Override
    public Class<?> getObjectType() {
        return User.class;
    }

    @Override
    public boolean isSingleton() {
        return false;
    }
}

二、ApplicatinContext是什么

1、ApplicationContext比BeanFactory更加强大的Spring容器,它既可以创建Bnan、获取Bean、还支持国际化、事件广播、获取资源等BeanFactorr不具备的功能

2、ApplicatinContext继承的接口:
EnvironmentCapable
用来获取环境变量的功能,通过ApplicatinContext获取操作系统的环境变量和JVM环境变量

ListableBeanFactory
用来获取所有beanNames、判断某个beanName是否存在beanDefinition对象、统计BeanDefinition个数、获取某个类型对应所有beanNames等功能

HierarchicalBeanFactory
用来获取父beanFactory、判断某个name是否存在bean对象的功能

MeaasgeSource
用来国际化功能、比如可以直接用MessageSource对象获取某个国际化资源(比如不同国家语言对应的字符)

ApplicationEventPublisher
用来事件发布功能、可以发布事件、这是ApplicatinContext相对BeanFactory比较突出的作用功能

ResourcePattenResolver
用来加载并获取资源的功能、这里的资源可以是文件、图片等某个URL资源都可以

三、什么是BeanPostProcessor

1、BeanPostProcessor是Spring所提供的一种扩展机制,可以利用BeanPostProcessor
对Bean进行定制化加工吗,在Spring底层源码实现中,也广泛的应用到了该机制,BeanPostProcessor通常也叫做Bean后置处理器

2、BeanPostProcessor在Spring中是一个接口,我们定义一个后置处理器,就是提供一个类实现该接口,在Spring中还存在一些接口继承了BeanPostProcessor,这些子接口都是在BeanPostProcessor的基础上增加了一些其他功能

3、BeanPostProcessor中的方法

psotProcessorBeforeInitialization();
初始化前方法,表示可以利用这个方法来对Bean在初始化前进行自定义加工
psotProcessorAfterInitialization();
初始化后方法,表示可以利用这个方法对Bean在初始化后进行自营一加工

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值