
手撸small-Spring
文章平均质量分 95
从0开始搭建简单的spring框架,实现IOC/AOP两大核心功能
Strongwind_
半路转码的小菜鸡一枚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【手撸Spring 04】注入属性和依赖对象
null?在 Bean 注册的过程中是需要传递 Bean 的信息,在几个前面章节的测试中都有所体现 new BeanDefinition(UserService.class, propertyValues);所以为了把属性一定交给 Bean 定义,所以这里填充了 PropertyValues 属性,同时把两个构造函数做了一些简单的优化,避免后面 for 循环时还得判断属性填充是否为空。原创 2024-03-10 21:04:23 · 847 阅读 · 1 评论 -
【手撸Spring】02 实现Bean的定义、注册、获取
在 Bean 定义类中已经把上一章节中的 Object bean 替换为 Class,这样就可以把 Bean 的实例化操作放到容器中处理了。如果你有仔细阅读过上一章并做了相应的测试,那么你会发现 Bean 的实例化操作是放在初始化调用阶段传递给 BeanDefinition 构造函数的。@Override。原创 2024-02-27 16:52:20 · 953 阅读 · 0 评论 -
【手撸Spring】03 基于Cglib实现含构造函数的类实例化策略
在实例化接口 instantiate 方法中添加必要的入参信息,包括:beanDefinition、 beanName、ctor、args其中 Constructor 你可能会有一点陌生,它是 java.lang.reflect 包下的 Constructor 类,里面包含了一些必要的类信息,有这个参数的目的就是为了拿到符合入参信息相对应的构造函数。而 args 就是一个具体的入参信息了,最终实例化时候会用到。原创 2024-02-28 22:42:40 · 1119 阅读 · 0 评论 -
01-创建简单的Bean容器
目前的 Bean 定义中,只有一个 Object 用于存放 Bean 对象。如果感兴趣可以参考 Spring 源码中这个类的信息,名称都是一样的。不过在后面陆续的实现中会逐步完善 BeanDefinition 相关属性的填充,例如:SCOPE_SINGLETON、SCOPE_PROTOTYPE、ROLE_APPLICATION、ROLE_SUPPORT、ROLE_INFRASTRUCTURE 以及 Bean Class 信息。原创 2024-02-25 12:36:34 · 1091 阅读 · 0 评论