Spring框架中使用了那些设计模式

简介: Spring框架中使用了那些设计模式

简单工厂:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。

Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象, 但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。

工厂方法:

实现了FactoryBean接口的bean是一类叫做factory的bean。其特点是,spring会在使用 getBean()调用获得该bean时, 会自动调用该bean的getObject()方法, 所以返回的不是 factory这个bean,而是这个bean.getObject()方法的返回值。

单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点

Spring对单例的实现:spring中的单例模式完成了后半句话, 即提供了全局的访问点 BeanFactory。但没有从构造器级别去控制单例,这是因为spring管理的是任意的Java对象。

适配器模式:

Spring定义了一个适配接口,使得每一种Controller有一种对应的适配器实现类, 让适配器 代替controller执行相应的方法。这样在扩展Controller时,只需要增加一个适配器类就完 成了SpringMVC的扩展了。

装饰器模式:动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活。

Spring 中用到的包装器模式在类名上有两种表现:一种是类名中含有Wrapper,另一种是类名 中含有Decorator.

动态代理:

切面在应用运行的时刻被织入。一般情况下, 在织入切面时,AOP容器会为目标对象创建动态 的创建一个代理对象。SpringAop 就是以这种方式织入切面的。 织入:把切面应用到目标对象并创建新的代理对象的过程。

观察者模式:

Spring 的事件驱动模式使用的是 观察者模式,Spring中Observer模式常用的地方是listener 实现。

策略模式:

Spring框架的资源访问Resource接口。该接口提供了更强的资源访问能力,Spring框架 本身大量使用了Resouce接口来访问底层资源。

目录
相关文章
|
2天前
|
设计模式 存储 Java
手写spring第二章-运用设计模式编写可扩展的容器
手写spring第二章-运用设计模式编写可扩展的容器
7 0
|
4天前
|
设计模式 算法 Java
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
|
10天前
|
设计模式 Java 数据库连接
Spring Framework 6 中的设计模式
Spring Framework 6 中的设计模式
21 1
|
1月前
|
设计模式 Java 数据库连接
9种设计模式在Spring中的运用
9种设计模式在Spring中的运用
75 0
|
设计模式 Java 数据库连接
Spring设计模式(一)
Spring设计模式(一)
|
6月前
|
设计模式 缓存 Java
Spring 框架中都用到了哪些设计模式
Spring框架采用了多种设计模式来实现自己的功能,这主要是为了解决一些常见的软件开发问题。以下是一些Spring框架中使用设计模式的原因:
30 0
|
3月前
|
设计模式 Java Spring
Spring5深入浅出篇:Spring工厂设计模式拓展应用
Spring5深入浅出篇:Spring工厂设计模式拓展应用
|
3月前
|
设计模式 Java Spring
Spring5深入浅出篇:Spring与工厂设计模式简介
Spring5深入浅出篇:Spring与工厂设计模式简介
|
4月前
|
Java 应用服务中间件 数据库连接
太厉害!Redis+Nginx+设计模式+Spring全家桶+Dubbo技术精选合集
最近花了很长的时间去搜罗Java核心技术好文,我把每个Java核心技术的优选文章都整理成了一个又一个的文档。昨天也是终于全部整理好了,今天就把这些东西分享给老铁们,也能为老铁们省去不少麻烦,想学什么技能了,遇到哪方面的问题了 直接打开文档学一学就好了。不多bb了,直接上干货!
|
4月前
|
设计模式
二十三种设计模式全面解析-桥接模式的高级应用:构建灵活的跨平台UI框架
二十三种设计模式全面解析-桥接模式的高级应用:构建灵活的跨平台UI框架

热门文章

最新文章