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年1月10日
    18100
  • ppp项目施工业主如何管理办法

    对于PPP(Public-Private Partnership,公私合作伙伴关系)项目的施工业主来说,高效的管理办法包括合同管理、质量控制、风险管理、沟通机制和绩效评价。在其中,合同管理尤其重要,因为它是确保项目顺利进行的基石。PPP项目往往涉及到公、私双方以及可能的其他利益相关方,合同的管理包括…

    2024年4月11日
    4100
  • 测试用例怎么编写与设计

    编写与设计测试用例的过程:1、收集测试文档;2、提取要求;3、设定测试目标;4、编写测试用例。收集测试文档是指,收集描述被测功能/系统的文档,测试人员将依靠这些类型的文档来了解被测功能/系统的要求,然后开始为其设计和编写测试用例。 一、编写与设计测试用例的过程 1、收集测试文档 测试文档是描述被测功…

    2023年3月31日
    56800
  • 如何管理好基建项目工作

    如何管理好基建项目工作确实是一个既具挑战性又需要细致规划的过程。成功的基建项目管理依赖于几个核心因素,包括明确的目标设定、有效的沟通、风险管理、质量控制以及团队合作。在这些关键因素中,明确的目标设定尤其重要,它为项目的每个阶段提供了明确的方向和目标。 一、目标设定 明确的目标设定是基建项目成功管理的…

    2024年4月10日
    4000
  • 如何管理各项目负责人

    项目负责人的管理是确保项目成功的关键。要高效管理各项目负责人,首要考虑的是建立清晰的职责分工、提供充分的资源和支持、确保通信渠道畅通、强化团队合作、监控项目进度,以及定期进行绩效评估。其中,确保通信渠道畅通尤为重要,因为有效的沟通可以协调不同项目之间的工作,避免资源冲突,同时确保每个项目负责人及时获…

    2024年4月11日
    4900
  • 爱施德oa

    标题:爱施德OA的功能特点与应用领域 爱施德OA是一款集电子邮件、文件传输、办公自动化与协同工作为一体的综合办公软件。该平台特色在于1、集成化管理2、协同工作效率3、便捷的数据处理4、高度的定制化及5、安全性保障。 在详细描述特色1、集成化管理方面,爱施德OA通过整合各种办公组件,为企业提供一个统一…

    2024年1月11日
    20600
  • centos和ubuntu有什么区别

    CentOS与Ubuntu的区别在于以下几个方面:1、源码基础不同;2、设计理念不同;3、使用场景不同;4、软件包管理不同;整体上看,CentOS更倾向于企业级服务器应用,稳定性较强;而Ubuntu更注重用户体验,适合桌面环境以及个人用户。 一、源码基础不同 CentOS是基于Red Hat Ent…

    2023年6月2日
    4.1K00
  • java中的枚举类和常量类区别在哪儿

    java中的枚举类和常量类区别是:1、定义不同;2、越界情况不同;3、使用方法不同;4、编译方法不同5、继承不同。枚举和常量不是一个维度的东西,枚举是对象,常量是字段。常量能做的,枚举都能做,枚举能做的常量不一定能做。 1、定义不同 枚举和常量不是一个维度的东西,枚举是对象,常量是字段。常量能做的,…

    2023年2月13日
    1.6K00
  • 常用的办公软件有哪些

    常用的办公软件有:1、Word;2、Powerpoint;3、Excel;4、Blender;5、WPS;6、Listary;7、Adobe Acrobat;8、XMind。Word给用户提供了用于创建专业而优雅的文档工具,帮助用户节省时间,并得到优雅美观的结果,Word一直都是最流行的文字处理程序…

    2023年3月30日
    3.3K00
  • 什么是企业的战略管理

    企业的战略管理是:是企业在宏观层次通过分析、预测、规划、控制等手段,实现充分利用该企业的人、财、物等资源,以达到优化管理,提高经济效益的目的。企业战略管理是对企业战略的设计、选择、控制和实施,直至达到企业战略总目标的全过程。 一、什么是企业的战略管理 企业战略管理是企业在宏观层次通过分析、预测、规划…

    2023年5月6日
    32600

发表回复

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

400-800-1024

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

分享本页
返回顶部