代码拉取完成,页面将自动刷新
教你轻松手写实现一款入门级的Spring框架,后续会继续完善这个框架,目前处于起步状态。 你将会了解:
什么是依赖注入和控制反转 Ioc有什么用 Spring的 Ioc 是怎么实现的 按照Spring的思路开发一个简单的Ioc框架
Spirng IoC 主要是以下几个步骤。
1. 初始化 IoC 容器。
2. 读取配置文件。
3. 将配置文件转换为容器识别对的数据结构(这个数据结构在Spring中叫做 BeanDefinition
4. 利用数据结构依次实例化相应的对象
5. 注入对象之间的依赖关系
参考 Spirng 的 IoC 实现,去除所有与核心原理无关的逻辑。极简的实现 IoC 的框架。 项目使用 json 作为配置文件或者你也可以使用XML作为配置文件,这两种配置随意选择。使用 maven 管理 jar 包的依赖。在这个框架中我们的对象都是单例的,并不支持Spirng的多种作用域。框架的实现使用了cglib 和 Java 的反射。后续会添加注解配置,加入mvc等
你将会了解:
Aop是什么? 为什么要使用Aop? Spirng 实现Aop的思路是什么 自己根据Spring 思想实现一个 Aop框架
Spring 的 Aop 实现主要以下几个步骤:
1.初始化 Aop 容器。
2.读取配置文件。
3.将配置文件装换为 Aop 能够识别的数据结构 – Advisor。这里展开讲一讲这个advisor。Advisor对象中包又含了两个重要的数据结构,一个是 Advice,一个是 Pointcut。Advice的作用就是描述一个切面的行为,pointcut描述的是切面的位置。两个数据结的组合就是”在哪里,干什么“。这样 Advisor 就包含了”在哪里干什么“的信息,就能够全面的描述切面了。
4.Spring 将这个 Advisor 转换成自己能够识别的数据结构 – AdvicedSupport。Spirng 动态的将这些方法拦截器织入到对应的方法。
5.生成动态代理代理。
6.提供调用,在使用的时候,调用方调用的就是代理方法。也就是已经织入了增强方法的方法。
软件架构说明 mumux-framwork主要包括一下三个模块:
aop模块:切面
ioc模块:反转控制,
mergerequest模块:高并发下的请求合并
codeGenerator模块:代码生成器
AOP和IOC有两种配置方式,你可以选择JSON配置方式,也可以选择XML配置方式。
使用文档见wiki:使用文档wiki
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型