Spring5路径匹配器PathPattern有什么用

技术Spring5路径匹配器PathPattern有什么用这篇文章主要为大家展示了“Spring5路径匹配器PathPattern有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并

本文主要给大家展示“Spring5路径匹配器PathPattern有什么用”,简单易懂,组织清晰,希望能帮你解决疑惑。让边肖带领大家学习《Spring5路径匹配器PathPattern有什么用》一文。

Spring5路径匹配器PathPattern

PathPattern处理url地址匹配的速度更快,它与AntPathMatcher的主要区别如下:

00-1010如果在路径中间使用* *会得到一个错误;

@ GetMapping((/funyi/* *)

public stringact1(){ 0

return '/funyi/* * ';

}

1.PathPattern 只支持结尾部分使用 **

,同时可以匹配多级路径,得到的值赋给对应控制器方法的参数路径;

@GetMapping('/funyi/{*path} ')

public void act2(@ PathVariableStringPath){ 0

system . out . println(' path=' path ');

}回弹项目可以通过添加以下配置来打开路径模式:

@配置

public class webconfigimplesswebmvcconfigurer {

@覆盖

publicavitconfigurepath match(path matcheconfigurerconfigurer){ 0

configurer . SetPatternParser(NewPathPatternParser());

}

}

2.PathPattern 支持使用例如 {*path}

Antpathmacher:第一版Sping于2013年推出。

Pathpattern:由Spring 5引入,在包中:org . Spring framework . web . util . pattern . path pattern,其模块为spring-web。可以看出,它是专门为Web设计的“工具”。

PathPattern去掉了Ant这个词,但保持了很好的向下兼容性:除了不支持* *写在路径中间(以消除歧义)之外,其他匹配规则在行为上与AntPathMatcher一致,并加入了对{*pathVariable}的强支持。总的来说,可以认为后者与前者是兼容的。

PathPattern比AntPathMatcher具有更好的性能。理论上,模式越复杂,PathPattern的优势就越明显。

AntPathMatcher可以用于非web环境,而PathPattern只适用于Web环境。所以PathPattern并不能完全取代AntPathMatcher。

在内部,AntPathMatcher执行纯字符串操作和比较。另一方面,对于任何字符串模式,PathPattern最终都将被解析为几段PathElement,它们以链式结构连接起来表示模式,形成一个对象数据。这种结构化表示使可读性更强、更灵活,从而获得更好的性能。

两者简单使用示例:

newAntPathMatcher()。match('/api/v1/** ','/API/v1/2/3 * * ');

newPathPatternParser()。解析('/api/v1/** ')。匹配项(PathContainer . ParsePath('/API/v1/2/3 * * ');

//每个pathPattern字符串对应一个PathPatternParser,每个parsedPath字符串对应一个pathcontainer。可能有小伙伴会说:在服务层,甚至在道层,我可以正常使用路径模式对象。为什么呢?

这个问题就相当于:HTTP servlet request属于web层的特殊组件,但是你仍然可以把它传递给Service层甚至Dao层使用,编译运行的时候也不会出错。

以上就是文章“Spring5 PathPattern匹配器有什么用?”感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/115593.html

(0)

相关推荐

  • 分析Java分布式系统原理

    技术分析Java分布式系统原理这篇文章主要讲解了“分析Java分布式系统原理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析Java分布式系统原理”吧!1 概念1.1

    攻略 2021年11月5日
  • Oracle锁的面试题有哪些

    技术Oracle锁的面试题有哪些本篇内容介绍了“Oracle锁的面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

    攻略 2021年11月5日
  • activity和singletask(task和activity有什么区别)

    技术Activity的singleTask有什么作用本篇内容主要讲解“Activity的singleTask有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Activ

    攻略 2021年12月18日
  • 微信清空聊天记录,手机微信聊天信息如何清屏

    技术微信清空聊天记录,手机微信聊天信息如何清屏1、打开手机,在手机桌面找到微信选项软件,点击进入微信清空聊天记录。2、在微信界面中,点击我选项进入。3、在我界面中,点击设置选项进入。4、在设置界面中,点击聊天选项进入。5

    2021年10月23日
  • Windows如何安装和使用ROS1Noetic和ROS2Foxy

    技术Windows如何安装和使用ROS1Noetic和ROS2Foxy小编给大家分享一下Windows如何安装和使用ROS1Noetic和ROS2Foxy,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!更

    攻略 2021年11月25日
  • 租用台湾云服务器有什么好处

    技术租用台湾云服务器有什么好处台湾云服务器采用虚拟化技术将高性能服务器集群分为多个虚拟服务器。这些虚拟服务器是私有的,因为用户不必与同一物理服务器上的其他方共享磁盘空间、CPU、内存。台湾云服务器租用对您网站的好处 租用

    礼包 2021年12月8日