首先要明确看框架的目的?!!!
要很清楚的知道我要看的这个框架是去干什么的?
这样不容易被里面深层的链路而丢失了方向,搞的不知道要看啥了
还有就是要清楚这个框架是做什么的?或者说这个框架能够具体实现什么功能?
再接着,实现这个功能,它所需要的条件是什么?
数据条件,系统环境条件,等等
举个栗子:
任何数据要转变成另外一种数据,只要不是同一个数据,那它就是进行了处理!
那处理这个转变要么是这个语言环境底层自动做的(对java来说是jdk),要么就是框架去做的,它做了处理才会有结果!
那比如mybatis这个持久层框架,从数据库读出来的数据,在jdbc的那一层,刚过来的数据是sql类型的, 这个数据类型在 sql的包下面所定义,取出来的bean是sql包下的数据类型,然而对应我们做业务用的那些实体类型,框架在这里就是做了层 映射 的工作。然后通过反射 去把 sql类型对应到 我们常用的那些类型中去。
那么就会有相应的类被创造出来去实现这些东西:
那么问题来了,mybatis是如何知道这个映射关系的呢???肯定是写框架的人先写好了大部分,把这个关系储存在了 数据容器里面map 或者list
在到了要转换的时候,去容器里面取出来,和要处理的数据进行对比,匹配到了,就转换,匹配不到就报错,,或者按照它这个框架设定的逻辑走。不过匹配不到的肯定是没法正确转换了!