spring容器拦截器和运用到的设计模式

1.监听器和拦截器的区别

拦截器是基于java反射实现的,而过滤器是根据函数回调实现的;

拦截器不依赖servelt,过滤器依赖servelt;

拦截器只能对action请求起作用,过滤器可以对所有请求起作用;

拦截器可以访问action上下文、值、栈里的值,而过滤器不能访问;

在action的生命周期内,拦截器可以多次被调用,而过滤器只能在容器被初始化时被调用一次;

拦截器可以获取IOC容器的各个Bean,过滤器不能。



Spring中用到的设计模式

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

模板模式:在各种BeanFactory以及ApplicationContext实现中用到了;

代理模式:在AOP实现中用到了动态代理;

单例模式:在创建Bean的时候;

外观模式:Tomcat中有很多场景都使用到了外观模式,因为Tomcat中有很多不同的组件,每个组件需要相互通信,但又不能将自己内部数据过多地暴露给其他组件;

策略模式:Java要求如果定义的复合对象要有排序的功能,就自行实现Comparable接口或Comparator接口;

原型模式:使用原型模式创建对象比直接new一个对象在性能上好得多,因为Object类的clone()方法是一个native方法,它直接操作内存中的二进制流,特别是复制大对象时,性能的差别非常明显;

迭代器模式:实现了Iterable接口,则表示某个对象是可被迭代的;Iterator接口相当于是一个迭代器,实现了Iterator接口,等于具体定义了这个可被迭代的对象时如何进行迭代的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容