一、Spring源码架构

  1. Spring源码地址

二、Spring中的设计模式

1、工厂模式

BeanFactory

2、模板模式

模板的使用者只需设计一个具体的类,集成模板类,然后定制那些具体方法,这样既能重用整个模板的处理框架,又能发挥具体子类的灵活性,所以称这种模式为模板模式

  1. getResourceByPath函数是具体的函数,在BeanDefinitionReader的loadBeanDefinition中调用,该函数采用模板模式,即具体的定位实现实际上是由各个子类完成的
  2. Spring JDBC的设计与实现,JdbcTemplate是一个主要的模板类。

3、策略模式

Spring 中策略模式使用有多个地方,如 Bean 定义对象的创建以及代理对象的创建等。

4、适配器模式

5、代理模式

Spring Aop中Jdk 动态代理就是利用代理模式技术实现的。

三、优秀的参考资料

  1. Spring框架的设计理念与设计模式分析
  2. Spring源码整体架构
  3. Spring技术内幕
  4. Spring揭秘
05-14 08:40