Spring中的设计模式
-
单例模式:保证某个对象只有一个实例,对于频繁使用的对象,可以节省创建所花费的时间。Spring中 Bean 的作用域默认为 Singleton 单例的,表示单例 Bean 在IOC容器中是唯一的,这样只要 id 与 bean 相匹配,返回的就是 bean 的同一实例了。(作用域 prototype 表示每次请求都会创建一个新的 bean 实例)(IOC 容器所管理的对象,称为 bean)
-
工厂模式:提供了一个创建对象的接口,由子类决定创建什么样的对象。Spring使用工厂模式通过 BeanFactory 或 ApplicationContext 来创建 bean 对象,它们两者的区别是,BeanFactory 是延迟注入,也就是使用到某个 bean 的时候才会创建;而 ApplicationContext 会在容器启动时,一次性创建所有的 bean。
-
代理模式:给某个对象提供一个代理对象,类似于生活中的中介。Spring AOP 就是基于动态代理实现的。如果要代理的对象实现了某个接口,Spring AOP就会使用JDK动态代理去创建代理对象;对于没有实现接口的对象,Spring AOP 就使用 CGLIB 动态代理生成一个被代理对象的子类来作为代理。
SpringMVC用到了适配器模式
- 在SpringMVC中,前端控制器根据请求调用 handlerMapping,解析出请求对应的 handler,然后交给适配器进行处理。因为 Controller 类型众多,通过适配器来调用对应的 handler 进行处理的话,那前端处理器就不需要自己去判断 Controller 的类型了。
本文深入探讨了Spring框架中运用的设计模式,包括单例模式、工厂模式、代理模式及适配器模式。单例模式确保了Bean的唯一性,工厂模式通过BeanFactory或ApplicationContext创建对象,代理模式支撑了SpringAOP,适配器模式则用于处理多种类型的Controller。

1006

被折叠的 条评论
为什么被折叠?



