spring项目在这个方法中,为什么priorityOrderedPostProcessors
列表存储BeanFactoryPostProcessor
类型,而orderedPostProcessorNames
、nonOrderedPostProcessorNames
存储String。这是什么原因?我试着把它们换成同样的类型,它们似乎也很好用。
查看第150–189行的代码,我看不出为什么orderedPostProcessors
和nonOrderedPostProcessors
有两步过程,而priorityOrderedPostProcessors
没有。这是github中最早提交文件的情况,因此它背后的任何推理都会在时间的迷雾中丢失。我猜这两个案例是由不同风格的开发人员添加的。有趣的是,orderedPostProcessors
和nonOrderedPostProcessors
的ArrayList<BeanFactoryPostProcessor>
的实例化在稍后更新,以添加基于orderedPostProcessorNames
和nonOrderedPostProcessorNames
的大小立即声明大小的小优化,但开发人员显然从未质疑两步过程的必要性。