1. 首页
  2. 编程面试题
  3. Java
  4. 设计模式

Spring 当中用到了哪些设计模式?



**模板方法模式**:例如 jdbcTemplate,通过封装固定的数据库访问比如获取 connection、获取 statement,关闭 connection、关闭 statement 等 然后将特殊的 sql 操作交给用户自己实现。

**策略模式**:Spring 在初始化对象的时候,可以选择单例或者原型模式。

**简单工厂**:Spring 中的 BeanFactory 就是简单工厂模式的体现,根据传入一个唯一的标识来获得 bean 对象。

**工厂方法模式**:一般情况下,应用程序有自己的工厂对象来创建 bean.如果将应用程序自己的工厂对象交给 Spring 管理, 那么 Spring 管理的就不是普通的 bean,而是工厂 Bean。

**单例模式**:保证全局只有唯一一个对象。

**适配器模式**:SpringAOP 的 Advice 有如下:BeforeAdvice、AfterAdvice、AfterAdvice,而需要将这些增强转为 aop 框架所需的 对应的拦截器 MethodBeforeAdviceInterceptor、AfterReturningAdviceInterceptor、ThrowsAdviceInterceptor。

**代理模式**:Spring 的 Proxy 模式在 aop 中有体现,比如 JdkDynamicAopProxy 和 Cglib2AopProxy。

**装饰者模式**:如 HttpServletRequestWrapper,自定义请求包装器包装请求,将字符编码转换的工作添加到 getParameter()方法中。

**观察者模式**:如启动初始化 Spring 时的 ApplicationListener 监听器。

发布者:admin,如若转载,请注明出处:https://ai1024.vip/27380.html

QR code
//