当前位置: 首页 > news >正文

专注七星彩网站开发网站建设费如何入帐

专注七星彩网站开发,网站建设费如何入帐,网站优化主旨,第三次网站建设的通报更多SpringBoot3内容请关注我的专栏#xff1a;《SpringBoot3》 期待您的点赞#x1f44d;收藏⭐评论✍ 重学SpringBoot3-路径匹配机制 AntPathMatcherPathPatternParser 和 PathPattern演示AntPathMatcher 示例PathPattern 示例性能和精确度的提升 选择使用哪一种 在 Spring… 更多SpringBoot3内容请关注我的专栏《SpringBoot3》 期待您的点赞收藏⭐评论✍ 重学SpringBoot3-路径匹配机制 AntPathMatcherPathPatternParser 和 PathPattern演示AntPathMatcher 示例PathPattern 示例性能和精确度的提升 选择使用哪一种 在 Spring Framework 5.3 及 Spring Boot 2.4 之后引入了一种新的路径匹配机制这一变化在 Spring Boot 3 中得到了保留和进一步的应用。这个新机制主要是通过 PathPattern 代替了传统的 AntPathMatcher。AntPathMatcher 是基于 Ant 风格的路径匹配而 PathPattern 则是一个更高效、更精确的路径匹配方式它是通过 PathPatternParser 解析得到的。 AntPathMatcher 定义: AntPathMatcher 是 Spring 框架中一个基于 Ant 风格模式的路径匹配器它支持使用 ?、* 和 ** 等通配符进行匹配。 *表示任意数量的字符。?表示任意一个字符。表示任意数量的目录**。{}表示一个命名的模式占位符。[]表示字符集合例如[a-z]表示小写字母。 用途: 主要用于 URL 模式匹配比如在 Spring MVC 中定义 RequestMapping 时就可以使用Ant风格的路径。 特点: 灵活但在性能上可能不如PathPattern尤其是在复杂模式匹配时。 PathPatternParser 和 PathPattern PathPatternParser: 一个新的路径解析器用于解析路径模式字符串创建 PathPattern 对象。它引入了更严格的语法规则并且设计了更高效的匹配算法。PathPattern: 由 PathPatternParser 解析路径模式字符串得到的对象代表了一种更加精确和高效的路径匹配方式。特点: 性能: 相比 AntPathMatcherPathPattern 提供了更高的性能。这是因为 PathPattern 在匹配过程中采用了更加高效的算法在 jmh 基准测试下有 6~8 倍吞吐量提升降低 30%~40%空间分配率。精确性: PathPattern 的语法规则更严格能够提供更精确的匹配结果。使用场景: 在 Spring Framework 5.3 及之后的版本中默认使用 PathPattern 进行路径匹配。如果你的应用是基于这些版本的 Spring Boot 构建的那么在处理路径匹配时你将会默认使用 PathPattern。 演示 让我们通过具体的例子来进一步理解AntPathMatcher与PathPattern之间的区别以及如何在实践中应用它们。 AntPathMatcher 示例 假设我们有以下的路径模式与 URL来看看AntPathMatcher是如何进行匹配的 模式: /spring/*/example URL: /spring/boot/example使用AntPathMatcher这个URL与模式是匹配的因为*可以匹配任意的一段文本在这个例子中是boot。 Slf4j RestController public class HelloController {GetMapping(/spring/*/example)public String hello(HttpServletRequest request) {//获取请求路径并返回return request.getRequestURI();} }模式: /spring/**/example URL: /spring/boot/java/example同样这个URL与模式也是匹配的因为**可以匹配任意长度的路径在这个例子中是boot/java PathPattern 示例 PathPattern提供了更加精细的控制以及性能优化。使用PathPatternParser解析同样的模式我们可以得到类似的匹配结果但是PathPattern在解析和匹配的过程中更加高效 模式: /a*/b?/{c:[a-z]} “/a*”表示以/a开头后面可以跟任意数量的字符;“/b?”表示以/b开头后面可以跟任意一个的字符;“{c:[a-z]}”表示路径变量 c其值必须是由一个或多个小写字母 a-z 组成的字符串。URL: /abc/b1/ccc Slf4j RestController public class HelloController {GetMapping(/a*/b?/{c:[a-z]})public String hello(HttpServletRequest request, PathVariable(c) String variable) {log.info(variable:{}, variable);//获取请求路径并返回return request.getRequestURI();} }模式: /spring/**/example * 多段匹配的支持仅允许在模式末尾使用*如果要使用需要切换到 AntPathMatcher 模式。 解决办法 spring.mvc.pathmatch.matching-strategyant_path_matcher性能和精确度的提升 PathPattern的一个主要改进是在于它的匹配算法它使用了更少的字符串比较和更加高效的数据结构。这意味着在处理大量路由和复杂模式时PathPattern能够提供更快的匹配速度和更低的内存占用。 此外PathPattern支持一些新的匹配符例如 {spring:[a-z]}: 表示路径段必须由一个或多个小写字母组成且该段被捕获为名为spring的变量。?: 匹配任何单个字符{*spring}: 贪婪匹配任意数量的字符并将其捕获为名为spring的变量。 选择使用哪一种 在 Spring Boot 2.4 及以上版本中默认使用 PathPatternParser。但是开发者可以通过配置选择使用旧的 AntPathMatcher。如果你的应用需要向后兼容或者依赖于 AntPathMatcher 的特定行为你可能会选择继续使用 AntPathMatcher。 为了切换回 AntPathMatcher你可以在你的 application.properties 或 application.yml 文件中设置以下属性 spring.mvc.pathmatch.matching-strategyant_path_matcher总的来说PathPatternParser 和PathPattern 提供了一种更现代、更高效的路径匹配方式适用于大多数新的 Spring 应用程序。但对于那些需要与旧代码库兼容或者有特定路径匹配需求的项目AntPathMatcher 仍然是一个可行的选择。
http://www.tj-hxxt.cn/news/224182.html

相关文章:

  • 学做网站在什么地方学品牌公司设计
  • 网站建设和网络营销温州哪里有网站
  • 住房城乡建设厅网站准考证温州 建网站的公司 新
  • 合肥建设工程交易网站wordpress 默认图片路径
  • frontpage新建网站中国城乡建设部网站证书查询
  • 网站建设排名优化公司wordpress用户插件
  • 网站设计学校网站优化的关键词
  • 做网站需要公司资料吗广东营销型网站
  • 邵阳县网站建设公司沙河网站建设公司邢台网页设计
  • 网站关键词部署大连网站建设价格
  • 苏州网站建设有限公司购物网页设计代码
  • 创新的o2o网站建设网站建设南沙
  • 四川省建设科技协会网站首页珠海市官网网站建设品牌
  • 博罗网站建设公司苏州建站费用
  • 一条龙搭建网站兰州装修公司前十名
  • 保定网站优化哪家好ppt模板免费素材
  • wordpress如何自动采集网站图片dz还是wordpress
  • 做招聘信息的网站校园官方网站建设
  • 手机网站的网址是什么原因十大免费代理ip软件
  • 安网站建设公司济宁住房和城乡建设局网站首页
  • 做英文网站 是每个单词首字母大写 还是每段落首字母大写网站建设创意广告
  • 网站小视频怎么做的网站专题模板下载
  • 网站建设中倒计时模板软件商店app下载安装
  • 义乌网站建设长春网络哪个好
  • 建站空间怎么选高新快速建设网站电话
  • 重庆服装网站建设地址网站建设的网站分析怎么写
  • dede5.7 做的网站 下 加一个discuz论坛网站设置为起始页
  • 国家关于网站信息建设管理文件安陆网站
  • 网站群管理平台建设WordPress多站点恢复
  • 企业网站建设亮点网页设计的网站