spring种使用到设计模式的地方有哪些?
时间: 2023-11-20 18:19:30 浏览: 214
1. 工厂模式:Spring容器中的BeanFactory和ApplicationContext就是工厂模式的应用。
2. 单例模式:Spring容器默认会创建单例对象,确保在应用程序中只有一个实例。
3. 代理模式:Spring AOP使用了代理模式来实现面向切面编程。
4. 观察者模式:Spring事件机制就是使用观察者模式来实现的。
5. 模板方法模式:Spring中的JdbcTemplate就是模板方法模式的应用。
6. 适配器模式:Spring的适配器模式用于将不同类型的对象适配到通用接口中。
7. 责任链模式:Spring的拦截器链就是责任链模式的应用。
8. 策略模式:Spring的策略模式用于实现不同的依赖注入方式。
9. 组合模式:Spring的ApplicationContext就是组合模式的应用。
10. 建造者模式:Spring的BeanDefinitionBuilder用于构建BeanDefinition对象,是建造者模式的应用。
相关问题
spring 哪些地方使用代理设计模式
Spring框架中主要使用了三种代理设计模式:静态代理、动态代理和CGLIB代理。
1. 静态代理:Spring AOP中的编程模型基于代理,是基于接口的静态代理。在Spring中,我们可以通过实现自己的代理来扩展Spring AOP,并使用自己的代理来实现自己的横切关注点。
2. 动态代理:Spring AOP默认使用JDK动态代理实现代理。通过Java反射机制实现动态生成代理类,动态代理可以对任意一个实现了接口的类进行代理。
3. CGLIB代理:Spring AOP能够使用CGLIB动态代理实现对没有实现接口的类的代理。CGLIB是一个强大的、高性能的代码生成库,是为Java应用程序生成快速、高效、可靠的代码而开发的。它是通过继承被代理类来实现代理,因此被代理类不能是final类。
Spring 哪些地方使用代理设计模式
Spring框架中主要使用了三种代理设计模式:静态代理、动态代理和CGLIB代理。
1. 静态代理:Spring AOP中的编程模型基于代理,是基于接口的静态代理。在Spring中,我们可以通过实现自己的代理来扩展Spring AOP,并使用自己的代理来实现自己的横切关注点。
2. 动态代理:Spring AOP默认使用JDK动态代理实现代理。通过Java反射机制实现动态生成代理类,动态代理可以对任意一个实现了接口的类进行代理。
3. CGLIB代理:Spring AOP能够使用CGLIB动态代理实现对没有实现接口的类的代理。CGLIB是一个强大的、高性能的代码生成库,是为Java应用程序生成快速、高效、可靠的代码而开发的。它是通过继承被代理类来实现代理,因此被代理类不能是final类。
阅读全文