跳到主要内容

Spring中的设计模式应用

Spring 中工厂模式的应用

Spring 的设计理念 Spring 是面向 Bean 的编程(BOP:Beans Oriented Programming),Bean 在 Spring 中是真正的主角。Bean 在 Spring 中的作用就像 Object 对 OOP 的意义一样。 Spring 提供了 IOC 容器通过配置文件或者注解的方式来管理对象之间的依赖关系。

控制反转(Inversion of Control,缩写为 IOC),是面向对象编程中的一种设计原则,可以用来降低代码之间的耦合度。其中最常见的实现方式叫做依赖注入(Dependency Injection,简称 DI),还有一种方式叫做依赖查找(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递给它。

Spring 中的 Bean 组件

Bean 组件定义在 Spring 的 org.springframework.beans 包下,解决了以下几个问题:

  • Bean 的定义
  • Bean 的创建: 使用反射创建
  • Bean 的解析 Spring Bean 的创建是典型的工厂模式,它的顶级接口是 BeanFactory

  1. 工厂模式

    • BeanFactory
    • FactoryBean
    • 自动装配
  2. 单例模式

    • Bean作用域
    • 注册表实现
    • 线程安全

结构型模式

  1. 代理模式

    • AOP实现
    • 事务代理
    • 远程代理
  2. 装饰器模式

    • Wrapper类
    • IO流处理
    • 请求响应包装

行为型模式

  1. 观察者模式

    • 事件机制
    • 监听器模式
    • 消息发布
  2. 模板方法模式

    • JdbcTemplate
    • TransactionTemplate
    • RestTemplate