该篇文章进作为我的理解,仅供参考,如果发现有问题,烦请提出谢谢~
首先我们要知道spring容器的大致功能是什么
首先它是一个容器,那么我们常用的容器有List,Set,Map。我们常用的@Autowire,它是根据类型去查找的,如果找到多个类则会根据名称去查找。所以符合这种功能的集合就只有Map了。
其次它管理了对象的生命周期,初始化->实例化->销毁的过程。
初始化的时候对象从哪里来呢。早期的spring可以通过XML实现对象和属性注入,springboot则是通过property或者yml文件注入。我们统称这些文件为配置文件。所以就涉及到了配置文件的加载,读取、封装成BeanDefinition等一系列复杂的操作。
所以如果我们自己实现一个spring我们需要一下一些功能:
1.配置文件的加载、读取、封装成配置对象(BeanDefinition)
2.通过配置对象(BeanDefinition)实例化对象
3.将对象放入到容器中
4.销毁容器
浙公网安备 33010602011771号