与天地兮比寿,与日月兮齐光。这篇文章主要讲述spring用到的设计模式相关的知识,希望能为你提供帮助。
@[TOC]
spring用到的设计模式spring是我们java开发必须要会的技能,它作为一个核心框架用到了很多的设计模式,今天我们就学习一下吧
工厂模式
工厂模式是根据不同的条件生成同一个接口下不同的类的实例,Spring的FactoryBean就是用到工厂模式
模板方法模式
【spring用到的设计模式】模板方法模式就是抽取出公共的部分,封装不变的,扩展改变的,对于类的实例化延迟到它的子类中,像spring的AbstractPlatformTransactionManager事务管理器就是模板方法模式的体现,它是抽象的事务管理,具体的事务管理器实现类有DataSourceTransactionManager、HibernateTransactionManager等
代理模式
代理模式不用多说了,spring的aop就是用的代理模式,利用动态代理生成代理对象,执行方法。
策略模式
策略模式在spring中当然也有用到,比如Spring的AOP可以使用JDK动态代理和CGLIB动态代理
单例模式
这个就不用细说了,Spring中bean的创建是用到单例模式,确保全局只有一个实例
观察者模式
Spring的事件驱动模型就是观察者模式的体现,ApplicationEvent、ApplicationListener,通过ApplicationListener接口实现它的方法完成对时间的监听
适配器模式
适配器模式遵循的是开闭原则,也就是对扩展开放,对修改关闭。在spring的AOP的增强和通知功能中用到了适配器,根据不同的AdvisorAdapter选择不同的MethodInterceptor来进行适配
装饰者模式
spring的TransactionAwareCacheDecorator就是基于Cache接口进行包装,让缓存加入对事务的处理,在事务提交回滚等操作处理缓存数据。
总结
spring用到的设计模式本篇简单罗列介绍了一下,除此之外可能还有其他的设计模式,spring有很多值得我们学习的地方,一起研究spring吧
推荐阅读
- Shell(if语法的使用)
- 系统之家win7纯净版iso系统蓝屏代码0x000000001e的排查方案
- 让win7 32位系统笔记本续航时间更长的设置妙招
- 最新xp系统之家教你怎样维修U盘接口
- win7系统之家教你如何处理Win7 任务栏无法添加、锁定程序的问题
- 中关村系统之家浅析Windows7系统4个版本的异同点
- 系统之家win7安装虚拟光驱后物理光驱无法运用的处理步骤
- xp系统之家解析为何U盘文件会显示0字节的原因
- 在xp系统之家win7纯净版中怎样缩短Aero Peek延迟?