spring中用到的设计模式

本文详细介绍了Spring框架中应用的各种设计模式,包括工厂模式、模板模式、代理模式等,并重点讲解了这些模式如何在BeanFactory及ApplicationContext中实现。此外,还探讨了Spring中策略模式的应用场景,例如资源文件加载和AOP实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.工厂模式,在各种BeanFactory以及ApplicationContext创建中都用到了;

2.模版模式,在各种BeanFactory以及ApplicationContext实现中也都用到了;

3.代理模式,spring的Proxy模式在aop中有体现,比如JdkDynamicAopProxy和Cglib2AopProxy;

4.策略模式,第一个地方,加载资源文件的方式,使用了不同的方法,比如:ClassPathResourece,FileSystemResource,ServletContextResource,UrlResource但他们都有共同的借口Resource;第二个地方就是在Aop的实现中,采用了两种不同的方式,JDK动态代理和CGLIB代理;

5.单例模式,这个比如在创建bean的时候,保证一个类仅有一个实例,并提供一个访问它的全局访问点。
spring中的单例模式完成了后半句话,即提供了全局的访问点BeanFactory。但没有从构造器级别去控制单例,这是因为spring管理的是是任意的java对象。Spring下默认的bean均为singleton,可以通过singleton=“true|false” 来指定。

6.适配器,在Spring的Aop中,使用的Advice(通知)来增强被代理类的功能。Spring实现这一AOP功能的原理就使用代理模式(1、JDK动态代理。2、CGLib字节码生成技术代理。)对类进行方法级别的切面增强,即,生成被代理类的代理类, 并在代理类的方法前,设置拦截器,通过执行拦截器重的内容增强了代理方法的功能,实现的面向切面编程。

7.观察者模式,spring中Observer模式常用的地方是listener的实现。如ApplicationListener。

8.策略模式,spring中在实例化对象的时候用到Strategy模式,在SimpleInstantiationStrategy中有体现。

转载于:https://www.cnblogs.com/songjn/p/9143889.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值