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)

相关推荐

  • sysbench 0.5有什么用

    技术sysbench 0.5有什么用这篇文章主要介绍sysbench 0.5有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 一 前言 因为在准备做压力测试方面

    攻略 2021年11月7日
  • aws CLI使用

    技术aws CLI使用 aws CLI使用aws CLI使用
    官方网站:https://docs.aws.amazon.com/cli/latest/reference/s3/
    AWS 命令行界面 (C

    礼包 2021年12月1日
  • 怎样深入学习JVM堆与JVM栈

    技术怎样深入学习JVM堆与JVM栈今天就跟大家聊聊有关怎样深入学习JVM堆与JVM栈,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JVM栈解决程序的运行问题,即程

    攻略 2021年10月23日
  • 24Django装饰器整体缓存的一种玩法

    技术24Django装饰器整体缓存的一种玩法 24Django装饰器整体缓存的一种玩法一,Django设置缓存的三种类型:#将数据缓存到表里
    CACHE={'default':{'BACKEND':'d

    礼包 2021年12月6日
  • 狼原文及翻译,狼,蒲松龄解释和全文翻译

    技术狼原文及翻译,狼,蒲松龄解释和全文翻译《狼》翻译屠夫傍晚回家狼原文及翻译,担子里只剩下骨头,路上遇见两只狼,紧跟着走了很远。 屠夫害怕了,把骨头扔给狼,一只狼得到骨头停下了,另一只狼仍然跟着他。屠夫又把骨头扔给狼,后

    生活 2021年10月26日
  • oracle sql调优

    技术oracle sql调优 oracle sql调优oracle的sql优化]基于oracle的sql优化
    【博主】高瑞林
    【博客地址】http://www.cnblogs.com/grl214一.编

    礼包 2021年12月3日