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

相关推荐

  • 车联网项目管理做什么

    车联网项目管理主要负责的是项目的规划、组织、执行和控制。这包括在项目开始阶段制定详细的项目计划,包括项目的目标、预期结果、时间表、预算和人力资源分配等。在项目执行阶段,项目管理者需要组织和协调团队成员的工作,确保项目按计划进行。同时,他们还需要不断监控项目的进度,以便时刻掌握项目的情况,发现并解决问…

    2024年8月6日
    000
  • 什么是境外绿地项目管理

    境外绿地项目管理是指在海外地区,从无到有地开发、建设、运营的项目进行全面、系统的管理,包括策划、设计、施工、验收、运营等各个阶段的管理。核心内容包括项目策划、项目设计、项目施工、项目验收、项目运营等五个方面。其中,项目策划是项目成功的第一步,决定项目的方向和目标。项目设计则是将策划转化为具体可操作的…

    2024年8月6日
    000
  • 机械项目管理干什么

    机械项目管理包括:规划项目、分配任务、监督进度、控制成本、质量管理、风险管理、沟通协调、资源管理、文档管理等。其中,规划项目是机械项目管理的关键环节之一。详细的项目规划可以确保项目顺利进行,避免资源浪费和时间拖延。在规划项目阶段,项目经理需要制定详细的项目计划,包括时间表、任务分配、资源需求和预算。…

    2024年8月6日
    000
  • 什么叫远程医疗项目管理

    远程医疗项目管理是指利用信息技术和通信工具来协调和监督医疗项目的实施和运营,其核心在于提高效率、确保患者安全、降低成本。 远程医疗项目管理通过视频会议、电子健康记录、远程监控等手段,实现了医疗资源的优化配置和医疗服务的无缝对接。它不仅能够让医疗团队随时随地进行协作,还能实时监控项目进展,从而提高项目…

    2024年8月6日
    000
  • 项目工程管理都学什么

    项目工程管理主要学习的内容包括:1、项目工程的整体规划和设计;2、项目风险管理;3、项目成本控制;4、项目质量管理;5、项目时间管理;6、项目团队管理;7、项目采购和物资管理;8、项目沟通管理。在这其中,项目工程的整体规划和设计是最为核心的一环。它涉及到项目的定位、目标、战略和具体实施步骤等方面的内…

    2024年8月6日
    000

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部