一、Spring源码架构
二、Spring中的设计模式
1、工厂模式
BeanFactory
2、模板模式
模板的使用者只需设计一个具体的类,集成模板类,然后定制那些具体方法,这样既能重用整个模板的处理框架,又能发挥具体子类的灵活性,所以称这种模式为模板模式。
- getResourceByPath函数是具体的函数,在BeanDefinitionReader的loadBeanDefinition中调用,该函数采用模板模式,即具体的定位实现实际上是由各个子类完成的
- Spring JDBC的设计与实现,JdbcTemplate是一个主要的模板类。
3、策略模式
Spring 中策略模式使用有多个地方,如 Bean 定义对象的创建以及代理对象的创建等。
4、适配器模式
5、代理模式
Spring Aop中Jdk 动态代理就是利用代理模式技术实现的。