Skip to content

Spring 常用设计模式

Spring 框架是设计模式的集中体现,阅读源码时可对照本教程中的名称。

工厂与单例

  • BeanFactory / ApplicationContext工厂方法 + 抽象工厂(创建与管理一整套 Bean)。
  • 默认作用域 singleton:容器内 单例(与 GoF 单例不同:每容器一个,非 ClassLoader 全局)。

代理与装饰

  • AOPJDK 动态代理CGLIB 代理,环绕通知类似在目标外包裹装饰/代理行为。

模板方法

  • JdbcTemplateRestTemplate:固定流程(获取连接、执行、释放),具体 SQL/回调由用户实现。
  • AbstractApplicationContext#refresh:模板方法启动容器。

其他

  • 适配器HandlerAdapter 将不同 Controller 类型适配到统一 MVC 流程。
  • 观察者ApplicationListener 与事件发布(观察者)。
  • 策略Resource 多种实现、ViewResolver 等可替换策略。

深入建议结合官方文档与 AbstractAutowireCapableBeanFactory 等类名自行跳转阅读。