Spring框架中使用了哪些设计模式及应用场景
1、工厂模式
在各种BeanFactory以及ApplicationContext创建中都有用到
2、模板模式
在各种BeanFactory以及ApplicationContext创建中都有用到
3、代理模式
SpringAOP利用了AspectJ AOP实现的,Aspectj AOP的底层用的就是动态代理
4、策略模式
a、用于加载资源文件,会使用不同的方法,比如:ClassPathResource,FileSystemResource,ServletContextResource,UrlResource,但是他们都实现了一个共同的接口Resource; b、在Aop的实现中可以采用两种不同的方式,JDK的动态代理和cglib代理。
5、单例模式
比如我们在创建bean的时候
6、观察者模式
spring中的ApplicationListener,ApplicationEvent,ApplicationEventPublisher
7、适配器模式
MethodBeforeAdviceAdapter,ThrowAdviceAdapter,AfterReturningAdapter
8、装饰者模式
我们打开一些源码,可以看到一些类型带有Wrapper或者Decorator的都是的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了