Spring底层原理-模拟Bean的创建与获取

本文通过手动创建一个简易版Spring,详细介绍了Spring的Bean创建、依赖注入、初始化及AOP模拟。从扫描类路径、缓存BeanDefinition,到初始化Bean、处理依赖注入和循环依赖问题,再到实现InitializingBean和BeanPostProcessor接口,逐步揭示Spring核心功能的工作原理。
摘要由CSDN通过智能技术生成

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类初始化的时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值