开源项目硬核应用:AntPathMatcher实战
最近在看项目时看见里面有用到这个类,发现时Apache Ant开源项目。代码其实不算难,但是遇到利用了一个开源项目就很开心,特此来记录一下。
运用方式则是直接将matches方法复制过来,然后进行利用,非常的硬核。一般可能是导包,然后直接使用,这个算是把代码直接放过来,但也不长。在springboot中直接有在starter中导入这个依赖,其实可以直接导入AntPathMatcher这个类。
下面是代码参考,在本站找的一个大佬代码。读了下源码还是很有意思的。
Shiro -Ant 风格的匹配URL的实现源码,以及Ant风格_java ant风格匹配-CSDN博客
AntPathMatcher
在 Spring 应用的很多场景中都扮演着核心角色1:
-
Spring MVC / Spring WebFlux 的 URL 模式匹配:当你定义
@RequestMapping("/api/v1/users/{id}")
时,底层会使用AntPathMatcher
来将传入的 HTTP 请求 URL 与控制器中定义的这些模式进行匹配。 -
Spring Security 的权限控制:在配置安全规则时,
.antMatchers("/admin/**").hasRole("ADMIN")
的方法名就直接来源于它内部使用的AntPathMatcher
。 -
资源加载:当你使用 Spring 的
ResourceLoader
和通配符路径(如classpath*:com/example/**/*.xml
)来加载多个配置文件或资源时,背后也是它在工作。