一.Spring中的设计模式(非全)
1.简单工厂模式
简单工厂模式的本质就是一个工厂类根据传入的参数,动态的决定实例化哪个类。
Spring中的BeanFactory就是工厂模式的体现,根据传入一个唯一的标识来获得的bean对象。
2.工厂方法模式
应用程序将对象的创建及初始化职责交给工厂对象,工厂Bean。
定义工厂方法,然后通过config.xml配置文件,将其纳入Spring容器来管理,需要通过factory-method指定静态方法名称。
3.单例模式
Spring用的是双重判断加锁的单例模式,通过getSingleton方法从singletonObjects中获取bean
4.代理模式
Spring的AOP中,使用的Advice(通知)来增强被代理类的功能。Spring实现AOP功能的原理就是代理模式(jdk动态代理,cglib字节码生成技术代理)对类进行方法级别的切面增强。
5.装饰器模式
装饰器模式:动态的给一个对象添加一些额外的功能。
Spring的ApplicationContext中配置的所有DataSource。这些DataSource可能是不同的数据库,然后SessionFactory根据用户的每次请求,将DataSource设置成不同的数据源,以达到切换数据源的目的。
在Spring中有两种表现:
一种是含有Wrapper,另一种是类名中含有Decorator。
6.观察者模式
定义对象间的一对多的关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。
Spring中观察者模式一般用在listener的实现。
7.策略模式
策略模式是行为性模式,调用不同的方法,适应行为的变化,强调父类调用子类的特性。
getHandler是HandlerMapping接口中唯一的方法,用于根据请求找到匹配的处理器。
8.模板方法模式
Spring JDBC Template的query方法总体结构是一个模板方法+回调函数,query方法中调用的execute()是一个模板方法,而预期的回调dolnStatement(Statement state)方法也是一个模板方法。
介绍:
Spring:Spring框架为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的功能,比如:依赖注入和开箱即用的模块,如Spring JDBC、SpringMVC、Spring AOP、SpringORM、SpringTest。这些模块缩短应用程序的开发时间,提高了应用开发的效率。
SpringBoot:Spring Boot是Spring框架的扩展,他消除了设置Spring应用程序所需的XML配置,更加的快速、高效。
- 嵌入tomcat,而且不需要部署tomcat;
- 提供的starter来简化maven配置;
- 创建Spring Boot项目时可以选择Spring应用;
- 提供外部化配置;
- 不需要配置xml了;
- 原文:❤️连续面试失败后,我总结了57道面试真题❤️,如果时光可以倒流...(附答案,建议收藏)_GooReey的博客-CSDN博客