Spring中实用工具类

ResolvableType 泛型处理

获取接口上的泛型

1
2
3
4
5
6
7
ResolvableType resolvableType = ResolvableType.forClass(clazz);
ResolvableType[] interfaces = resolvableType.getInterfaces();
if(interfaces==null || interfaces.length==0) {
return null;
}
Class<?> resolve = interfaces[0].getGeneric(0).resolve();
return resolve;

获取父类上的泛型

1
2
3
ResolvableType resolvableType = ResolvableType.forClass(clazz);
Class<?> resolve = resolvableType.getSuperType().getGeneric(0).resolve();
return resolve;

反射工具类 ReflectionUtils

反射处理

ResourcePatternResolver

PathMatchingResourcePatternResolver 用于加载资源,支持ant风格
配合MetadataReaderFactory获取资源元数据(class文件数据)

对象工具类 ObjectsUtils

ant路径匹配 AntPathMatcher

Enviroment 环境变量和程序变量处理,可用于解析路径 ${} 变量

默认实现类是StandardEnvironment

1
2
3
Enviroment enviroment =new StandardEnviroment();
//将环境中变量test(从System.getProperty和System.getenv获取)替换掉${test}
enviroment.resolveRequiredPlaceholders("${test}_ff");