美文网首页
关于spring 工厂后处理器的一些研究

关于spring 工厂后处理器的一些研究

作者: zhangkay | 来源:发表于2017-09-28 12:00 被阅读0次

    网上对于spring的工厂后处理器的研究还停留在非常浅显的阶段,很多都是从书上抄写了一些内容,最近项目中用到了配置的运行时写入,所以对这方面的内容作了一个粗略的整理;


    工厂后处理器的接口包括BeanFactoryPostProcessor及其子接口BeanDefinitionRegistryPostProcessor;在Spring 4.1.5版本中,执行顺序为先执行实现了BeanDefinitionRegistryPostProcessor接口的工厂后处理器,再执行实现了BeanFactoryPostProcessor接口的处理器;

    在具体的实现处理器的排序为:首先判断该处理器是否实现了PriorityOrdered,实现PriorityOrdered接口的处理器优先于实现了Ordered接口的处理器,实现Ordered的处理器优先于普通处理器;同样实现了PriorityOrdered或者Ordered接口的处理器之间通过getOrder()方法返回值进行排序,值越小,处理器排在越前面执行;

    内部会维护一个hashset来保证没有重名的处理器,也会通过这个set来保证所有处理器只执行一次,即保证实现了BeanFactoryPostProcessor接口的处理器并不会执行第二次;

    相关文章

      网友评论

          本文标题:关于spring 工厂后处理器的一些研究

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