1. ** 的作用
- 含义:
**表示匹配任意层级的子包。 - 示例:
com.longgang.**.domain匹配以下所有路径:com.longgang.domaincom.longgang.module.domaincom.longgang.module.submodule.domain- 以此类推,无论子包层级有多深。
2. 其他常见的通配符
-
*(单星号):- 含义:匹配任意单个目录或文件名,但不递归子目录。
- 示例:
com.longgang.*.domain匹配:com.longgang.module.domaincom.longgang.service.domain
- 不匹配:
com.longgang.module.submodule.domain
-
?(问号):- 含义:匹配单个字符。
- 示例:
com.longgang.module?.domain匹配:com.longgang.module1.domaincom.longgang.moduleA.domain
- 不匹配:
com.longgang.module10.domain(因为?只能匹配一个字符)。
3. 总结通配符的作用
| 通配符 | 含义 | 示例 |
|---|---|---|
** | 匹配任意层级的子包 | com.longgang.**.domain |
* | 匹配单个目录或文件名 | com.longgang.*.domain |
? | 匹配单个字符 | com.longgang.module?.domain |
4. 实际应用场景
在 MyBatis-plus 配置中,typeAliasesPackage 用于指定别名扫描的包路径。使用通配符可以简化配置,避免手动列出所有可能的包路径。例如:
mybatis-plus:
typeAliasesPackage: com.longgang.**.domain
上述配置会自动扫描 com.longgang 下的所有子包中包含 domain 的类,并为其注册别名。