Spring框架中都用到了哪些设计模式?详细解析设计模式在Spring框架中的应用

本文详细解析了Spring框架中使用的设计模式,包括控制反转IOC、依赖注入DI、工厂模式、单例模式、代理模式、模板方法模式、观察者模式、适配器模式和装饰器模式。Spring通过这些模式实现了解耦、增强功能和代码复用,如BeanFactory和ApplicationContext的工厂模式,AOP中的代理模式,以及事件驱动模型中的观察者模式。
摘要由CSDN通过智能技术生成

Spring

控制反转IOC

  • 控制反转IOC: Inversion of Control
    • 是一种解耦设计原则
    • 主要目的是借助第三方,比如Spring IOC容器实现具有依赖关系的对象之间的解耦,从而降低代码之间的耦合度
  • Spring IOC容器:
    • Spring IOC容器负责创建对象并将对象连接在一起,配置这些对象.从创建中处理这些对象的整个生命周期,直到对象被完全销毁
    • Spring IOC容器类似一个工厂
    • 在创建对象时,只需要配置好配置文件或者是注解即可,不需要关注对象是如何创建的
  • 控制反转示例:
    • 对象a依赖于对象b, 当对象a需要使用对象b时必须由对象a创建对象b的实例
    • 引入IOC容器后,当对象a需要使用对象b时,可以指定IOC容器去创建一个对象b注入到对象a
    • 引入IOC容器之后,对象a获取对象b的过程,由主动行为变为被动行为
  • 实现了IOC原则的设计模式:
    • 服务定位器模式ServiceLocator
    • 工厂模式Factory
    • 抽象工厂模式AbstractFactory
    • 模板方法模式TemplateMethod
    • 策略模式Strategy
    • 依赖注入Depedency Inject

依赖注入DI

  • 依赖注入DI: Dependency Inject
    • 将实例变量传入到一个对象中去
    • 是实现控制反转的一种设计模式

工厂设计模式Factory

  • Spring框架中BeanFactoryApplicationContext类使用工厂模式创建Bean对象

BeanFactory

  • 延迟注入,即使用到某个Bean时才会进行注入
  • ApplicationContext相比会占用更少的内存,程序启动速度更快

ApplicationContext

  • 容器启动时就创建所有的Bean
  • BeanFactory相比 ,BeanFactory仅提供了最基本的依赖注入支持 . ApplicationContext扩展了BeanFactory, 除了BeanFactory的功能外还包含其余更多的功能,通常使用ApplicationContext创建Bean
  • ApplicationContext的三个实现类:
    • ClassPathXmlApplication: 将上下文文件作为类路径资源
    • FileSystemXmlApplication: 从文件系统中的XML文件中载入上下文定义信息
    • XmlWebApplicationContext:Web系统中的XML文件中载入上下文定义信息

单例设计模式Singleton

  • Spring中的Bean的作用域默认就是单例Singleton
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值