Spring 源码分析之:Spring-Core模块
概括
- asm: 字节码框架,能动态改变jvm里面的字节码
- cglib:代码生成库
- core: 核心包
- lang: 一些注解
- util: 帮助类,为其他模块提供帮助
关系图
asm
通过ASM,能做到动态修改字节码文件,得到动态语言的效果
cglib
代码生成库,一个lib库,Spring用它来实现动态代理,生成字节码文件
core
1. 根目录:别名注册、属性访问
AliasRegistry:别名注册
AttributeAccessor:对对象元数据的访问接口
Ordered:排序功能
2. annotation目录:注解、元注解、合并的注解等
3. codec目录:encode(编码器)和decode(解码器)
4. convert目录:主要是转换器服务,将一个类型转换位另外一个类型
5. env目录:就是配置文件Profiles
6. io目录:一些读取资源的类
这里的IO不是JDK里面的IO,这里主要是读取
7. log目录:几个日志类,利用的是Apache Log
8. serializer目录:序列化、反序列化类
9. style目录:代码风格
10. task目录:可执行任务类
任务执行器,继承了JDK的Executor,用来执行Runnable类型的task
11. type目录:Class元数据、注解元数据、过滤器等
关系图