mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
add methods
This commit is contained in:
@@ -6,8 +6,8 @@ import cn.hutool.core.lang.func.Func0;
|
|||||||
/**
|
/**
|
||||||
* Bean属性缓存<br>
|
* Bean属性缓存<br>
|
||||||
* 缓存用于防止多次反射造成的性能问题
|
* 缓存用于防止多次反射造成的性能问题
|
||||||
* @author Looly
|
|
||||||
*
|
*
|
||||||
|
* @author Looly
|
||||||
*/
|
*/
|
||||||
public enum BeanDescCache {
|
public enum BeanDescCache {
|
||||||
INSTANCE;
|
INSTANCE;
|
||||||
@@ -16,12 +16,22 @@ public enum BeanDescCache {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得属性名和{@link BeanDesc}Map映射
|
* 获得属性名和{@link BeanDesc}Map映射
|
||||||
|
*
|
||||||
* @param beanClass Bean的类
|
* @param beanClass Bean的类
|
||||||
* @param supplier 对象不存在时创建对象的函数
|
* @param supplier 对象不存在时创建对象的函数
|
||||||
* @return 属性名和{@link BeanDesc}映射
|
* @return 属性名和{@link BeanDesc}映射
|
||||||
* @since 5.4.2
|
* @since 5.4.2
|
||||||
*/
|
*/
|
||||||
public BeanDesc getBeanDesc(Class<?> beanClass, Func0<BeanDesc> supplier){
|
public BeanDesc getBeanDesc(Class<?> beanClass, Func0<BeanDesc> supplier) {
|
||||||
return bdCache.get(beanClass, supplier);
|
return bdCache.get(beanClass, supplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 清空全局的Bean属性缓存
|
||||||
|
*
|
||||||
|
* @since 5.7.21
|
||||||
|
*/
|
||||||
|
public void clear() {
|
||||||
|
this.bdCache.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -56,6 +56,16 @@ public enum BeanInfoCache {
|
|||||||
getCache(ignoreCase).put(beanClass, fieldNamePropertyDescriptorMap);
|
getCache(ignoreCase).put(beanClass, fieldNamePropertyDescriptorMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 清空缓存
|
||||||
|
*
|
||||||
|
* @since 5.7.21
|
||||||
|
*/
|
||||||
|
public void clear() {
|
||||||
|
this.pdCache.clear();
|
||||||
|
this.ignoreCasePdCache.clear();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据是否忽略字段名的大小写,返回不用Cache对象
|
* 根据是否忽略字段名的大小写,返回不用Cache对象
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user