1.总览
首先学习spring源码 的大纲如下 图1.1为主要学习 内容其中 容器 + AOP占百分之六七十
然后学完sping源码 再学springmvc源码就简单很多
图1.2中指出了springmvc中父子工厂的事务冲突问题 这个在springboot中由于引入了内置的
tomcat后解决 后面会讲 然后springboot的诞生原因主要是简化开发,springcloud就是服务于微服务开发
图1.3可以看出我们的工厂是列出bean容器根接口BeanFactory下的一些bean容器接口与类
各个bean容器接口的作用都不同
比如HierarchicalBeanFactory 进行父子容器的管理
比如ConfigurableBeanFactory 我们配置的单例还是prototype多例,还有啥类型转化器就是通过它
再比如AutowireCapableBeanFactory 很明显可以看出 我们使用autowire注入对象 就是通过它
还有ListableBeanFactory 我们判断bean工厂是否包含某beandefinition 通过什么bean name 或者bean type去获取某个bean 就是通过它
这里要强调的一点是 applicationcontext具备上面这几个接口的所有功能
然后提到的xmlbeanfactory 通过解析xml生成beandefinition存到jvm