1 引言
大家好,相信大家对Spring的底层原理都有一定的了解,这里我们会针对Spring底层原理,在海量的Spring源代码中进行抽丝剥茧手动实现一个Spring简易版本,来促进我们对Spring架构有个更深的理解,对Spring的常用功能进行手写模拟实现。
2 启动Spring
针对Bean的创建和获取功能,我们来进行功能的实
首先我们创建JdApplicationContext类做为Spring启动类,实现bean的加载和获取功能。
UserService和OrderService类作为Bean的实现类,通过JdApplicationContext类中的getBean方法获取到前面两个类的实现。
- App为启动测试类
- AppConfig为启动配置类
注:下面的代码会顺着内容讲解逐步完成
首先创建App类做为入口,测试Spring功能。通过初始化JdApplicationContext类,动态加载bean实例。 通过getBean方法获取bean实例。
创建JdApplicationContext类,提供获取Bean实例方法,通过构造函数动态初始化bean实例。
3 扫描类路径并缓存BeanDefinition数据
在JdApplicationContext类初始化的时