1. 程式人生 > 其它 >路徑匹配工具(AntPathMatcher vs PathPattern)

路徑匹配工具(AntPathMatcher vs PathPattern)

詳情參閱:BAT的烏托邦-https://mp.weixin.qq.com/s/tPKHMQWKW5wquQihJxp8gw

AntPathMatcher:Sping第一個版本(2013念)引入。

PathPattern:Spring 5 引入,所在包:org.springframework.web.util.pattern.PathPattern,所屬模組為spring-web。可見它專為Web設計的“工具”。

PathPattern去掉了Ant字樣,但保持了很好的向下相容性:除了不支援將**寫在path中間之外(以消除歧義),其它的匹配規則從行為上均保持和AntPathMatcher一致,並且還新增了強大的{*pathVariable} 的支援。整體上可認為後者相容了前者的功能。

PathPattern效能比AntPathMatcher好。理論上pattern越複雜,PathPattern的優勢越明顯;

AntPathMatcher可用於非Web環境,而PathPattern只適用於Web環境。所以PathPattern也不是能完全替代AntPathMatcher的。

可能有小夥伴會說:在Service層,甚至Dao層我也可以正常使用PathPattern物件呀,何解?這個問題就相當於:HttpServletRequest屬於web層專用元件,但你依舊可以將其傳到Service層,甚至Dao層供以使用,在編譯、執行時不會報錯。但你可深入思考下,這麼做合適嗎?