spring拦截器和切面的区别是什么

区别是:拦截器是springmvc提供的,类似于过滤器的功效,是对控制层的拦截,常使用的场景是日志记录,登录校验,权限校验。切面常使用的场景:日志,一般请求都会要求具体到那个方法,那个参数等,所以切面做日志在合适不过了。切面是过滤器和拦截器的更细分。

spring拦截器和切面的区别是什么-Worktile社区

拦截器

拦截器(Interceptor)是Struts2框架的核心功能之一,Struts 2是一个基于MVC设计模式的开源框架,主要完成请求参数的解析、将页面表单参数赋给值栈中相应属性、执行功能检验、程序异常调试等工作。Struts2拦截器是一种可插拔策略,实现了面向切面的组件开发,当需要扩展功能时,只需要提供对应拦截器,并将它配置在Struts2容器中即可,如果不需要该功能时,也只需要在配置文件取消该拦截器的设置,整个过程不需要用户添加额外的代码。拦截器中更为重要的概念即拦截器栈(Interceptor Stack),拦截器栈就是Struts2中的拦截器按一定的顺序组成的一个线性链,页面发出请求,访问Action对象或方法时,栈中被设置好的拦截器就会根据堆栈的原理顺序的被调用。

切面

AOP又名Aspect Oriented Programming 意为 ‘面向切面编程’通过预编译和运行期间动态代理来实现程序功能的统一维护的一种技术。AOP思想是OOP(面向对象)的延续 在 OOP 中, 我们以类(class)作为我们的基本单元, 而 AOP 中的基本单元是 Aspect(切面),AOP是软件行业的热点,也是Spring框架中的一个重要内容,是函数式编程的一种延伸范式,

这种在运行时生成代理对象来织入的,还可以在编译期、类加载期织入,动态地将代码在不改变原有的逻辑情况下切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。

面向切面编程(AOP是Aspect Oriented Program的首字母缩写) ,我们知道,面向对象的特点是继承、多态和封装。而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配实际上也就是说,让不同的类设计不同的方法。这样代码就分散到一个个的类中去了。这样做的好处是降低了代码的复杂程度,使类可重用。

延伸阅读:

什么是spring?

Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。

Spring是Java EE编程领域的一个轻量级开源框架,该框架由一个叫Rod Johnson的程序员在 2002 年较早提出并随后创建,是为了解决企业级编程开发中的复杂性,实现敏捷开发的应用型框架 。Spring是一个开源容器框架,它集成各类型的工具,通过核心的Bean factory实现了底层的类的实例化和生命周期的管理。在整个框架中,各类型的功能被抽象成一个个的 Bean,这样就可以实现各种功能的管理,包括动态加载和切面编程。

文章标题:spring拦截器和切面的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37846

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月12日 下午4:49
下一篇 2023年2月12日 下午4:51

相关推荐

  • 微步在线CEO薛锋:To B勒索呈爆发态势

    文| babayage 编辑 | 笑 笑 管理能力成长于微软 价值观念师承亚马逊 采访多年,最惧怕的N款访谈对象类型中,一定包括“此人能力相比平均水准呈现出过度离散的状态”,盖因从天才身上很难挖掘出可被大众学习、效仿的信息点。 在安全技术领域,薛锋配得上天才二字:80后,毕业于同济大学,彼时信息安全…

    2022年3月20日
    38300
  • 36氪副总裁王坤:企服产品应重视使用者体验,36氪将推出中国版「魔力象限」

    王坤 36氪副总裁、企服点评负责人 王坤拥有近10年的互联网产品设计、运营经验和团队管理经验。加入36氪前,曾先后就职于360、百度、网易等多家顶尖互联网公司,全面操盘过网易新闻、网易公开课、百度视频、360浏览器等多款知名产品。拥有丰富的从0-1的产品设计、运营经验;具有海外产品的设计、运营经验。…

    2022年3月25日
    25100
  • 阿拉丁史文禄:恐惧于确定的未来,小程序年内将迎来爆发

    文| babayage 编辑 |笑 笑 有这样一类创业者,他们并不执念于物质与功名,而是沉迷于探究时代的底层脉搏,小有把握便躬身入局。只要为之投身奋斗的行业如期崛起,即便自己磕得头破血流,也会大笑着举杯豪饮,高呼“痛快,痛快!” 史文禄,就是这样一位连续创业者。 有人恐惧于未知有人恐惧于确定 “在国…

    2022年3月20日
    39200
  • 产品管理的基本概念是什么

    产品管理(Product Management)是一个专门负责产品从诞生到退出市场整个生命周期中的各个环节的业务活动。主要包括以下几个核心观点:一、需求分析和市场调研;二、产品规划和设计;三、产品开发和测试;四、市场推广和维护。这一概念起源于20世纪30年代,至今已发展成一个多层次、多维度的综合性管…

    2023年9月22日
    900
  • 普元CTO焦烈焱:成长之路务必重视工程能力

    文| babayage 编辑 | 笑 笑 程序员焦烈焱 1993~2004 选择确实比努力重要 人生的名列前茅份工作能有多重要?对焦烈焱而言,名列前茅份工作教给他一门手艺和一个认知,二者为他连续上扬的事业线奠定了扎实的基础。 1993年,毕业自机械专业的焦烈焱入职某常规武器实验基地,工作内容以坦克、…

    2022年3月20日
    23700
  • 数据结构和算法对于java来说是什么

    数据结构和算法对于java来说的重要性:1、算法是程序的灵魂,优异的程序可以在海量数据计算时,依然保持高速计算;2、一般来讲程序会使用了内存计算框架(比如Spark)和缓存技术(比如Redis等)来优化程序。 一、数据结构和算法的重要性 1、算法是程序的灵魂,优异的程序可以在海量数据计算时,依然保持…

    2023年2月8日
    16800
  • 每日工作安排用什么软件最好

    每日工作安排的软件有:1、Todoist;2、Trello;3、Google日历;4、Evernote;5、Focus@Will。Todoist 是一款功能强大的任务管理软件,可在桌面、移动设备和网页平台上使用。它提供丰富的任务管理功能,包括任务分类、任务优先级、任务标签、任务提醒等功能。 1、To…

    2023年2月26日
    23500
  • js里字符串函数有哪些

    js里字符串函数有:1、字符串转换toString;2、字符串分割split;3、字符串替换str.replace;4、获取字符串长度length。toString是属于Object原型上的一个方法。每一个对象都有一个 toString()方法。 默认的情况下,toString()方法被每一个对象继…

    2023年1月15日
    15000
  • 局域网文件共享软件有什么

    局域网文件共享软件有:1、喔喔兔局域网一键共享软件;2、局域网一键共享;3、imo云办公室;4、飞鸽传书;5、XP Win8局域网共享软件。喔喔兔局域网一键共享软件是一款非常简单好用的局域网共享软件。 一、喔喔兔局域网一键共享软件 喔喔兔局域网一键共享软件是一款非常简单好用的局域网共享软件。它丢掉繁…

    2023年4月21日
    1.2K00
  • http与https的区别

    http与https的区别有:1、定义不同;2、传输协议不同;3、连接方式不同;4、https需要申请证书;5、http页面响应速度比https快。http是互联网上应用较为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准。https是以安全为目标的http通道,简单讲是http的安全版。…

    2023年1月31日
    12300

发表回复

登录后才能评论
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部