Spring源码分析
文章平均质量分 62
豆恭梓
在读计算机研究生一枚^_^
展开
-
七、Spring源码分析--类型转化服务
我们从xml中搜集到的所有数据都是【字符串】,但是实际的类中的成员变量可能是数字,数组,集合,或者是复杂的引用数据类型,所以spring给我们提供了强大的转换服务(conversionService接口)。原创 2023-05-19 19:13:39 · 386 阅读 · 0 评论 -
六、Spring源码分析--更强的反射工具
如ResolvableAttribute,ResolvableType,registerResolvableDependency,后期遇到我们再学习。该类可以封装Java类型,提供对超类类型、接口和泛型参数的访问,以及最终解析为类的能力,这是非常常见的一个类,他能及其方便的简化对反射api的调用,该类在spring中的使用率非常高。在spring中,我们除了能看到内省相关的api,看到的更多的可能是反射api了,当然针对原生api的复杂性,spring同样进行了封装,让其使用起来更简单。原创 2023-05-19 16:18:56 · 150 阅读 · 0 评论 -
五、Spring源码分析--内省api
内省(IntroSpector)是Java 语言针对Bean类属性、事件的一种缺省处理方法,spring的源码中也会经常出现相关的api,所以我们有必要了解一下。JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。事实上,内省机制也是通过反射来实现的。相对于内省,反射则更加强大,他能在运行状态把Java类中的各种成分映射成相应的Java类,可以动态的获取所有的属性以及动态调用任意一个方法,强调的是运行状态。原创 2023-05-19 15:46:37 · 102 阅读 · 0 评论 -
四、Spring源码--加载BeanDefinition
当然我们不可能为每一个类手动编写与之对应的BeanDefinition,元数据还是要从xml或注解或配置类中获取,spring也为我们提供了对应的工具。SimpleAnnotationMetadataReadingVisitor类使用了大量asm的内容,由此可见spring在读取元数据的时候,是。毫无疑问spring选择了第二种,原创 2023-05-18 21:04:14 · 147 阅读 · 0 评论 -
三、Spring源码分析--BeanDefinition注册器
当然我们可以使用map这样的集合类,当然spring差不多也是这样做的,他为我们提供了一个接口BeanDefinitionRegistry。只要实现了这个接口,就会拥有注册beanDefinition的能力。有了统一标准的元数据之后,我们就可以。原创 2023-05-18 20:34:03 · 165 阅读 · 0 评论 -
二、spring源码--BeanDefiniiton详解
/ 定义一些常量 public static final String SCOPE_DEFAULT = "";// ...还有很多 // 初始化默认值 private volatile Object beanClass;// ...还有很多 // 构造器 protected AbstractBeanDefinition() {原创 2023-05-18 20:05:17 · 92 阅读 · 0 评论 -
一、spring源码--回顾bean的注入方式
【代码】一、spring源码--回顾bean的注入方式。原创 2023-05-18 19:31:30 · 67 阅读 · 0 评论