美文网首页
基于spring扩展几个比较重要的接口介绍

基于spring扩展几个比较重要的接口介绍

作者: Aolus | 来源:发表于2020-05-08 17:11 被阅读0次

    InitializingBean

    InitializingBean接口为bean提供了属性初始化后的处理方法,它只包括afterPropertiesSet方法,凡是继承该接口的类,在bean的属性初始化后都会执行该方法。

    使用场景

    一般配合策略模式使用

    BeanFactoryPostProcessor(BeanDefinitionRegistryPostProcessor  子类)

    允许自定义修改应用程序上下文的bean定义,调整上下文的基础bean工厂的bean属性值。应用程序上下文可以在其bean定义中自动检测BeanFactoryPostProcessor bean,并在创建任何其他bean之前先创建BeanFactoryPostProcessor。BeanFactoryPostProcessor可以与bean定义交互并修改bean定义,但绝不能与bean实例交互。这样做可能会导致bean过早实例化。

    使用场景

    修改Bean定义或者创建Bean定义(BeanDefinition)编程示创建Bean

    BeanPostProcessor

    bean后处理器允许自定义修改spring bean factory创建的新bean实例。如果你想在Spring容器完成实例化、配置和初始化bean之后实现一些定制逻辑,我们可以插入一个或多个BeanPostProcessor实现

    使用场景

    实例化Bean后处理后置一些逻辑操作,比如记录时间,操作数据库等

    FactoryBean

    产生Bean的另一种方式,实现该接口,可以生产Bean对象,实现该接口的类,默认会创建两个Bean实例,一个是本身的对象实例,一个getObject返回的对象实例,如果要需要通过BeanName获取本身实例对象需要加上&符号,否则默认获取的是getObject对象实例

    使用场景

    可以利用该接口特性动态代理接口,如mybatis-spring中MapperProxyFactory

    相关文章

      网友评论

          本文标题:基于spring扩展几个比较重要的接口介绍

          本文链接:https://www.haomeiwen.com/subject/fkwfnhtx.html