diff --git a/hutool-core/src/test/java/cn/hutool/core/compiler/JavaSourceCompilerTest.java b/hutool-core/src/test/java/cn/hutool/core/compiler/JavaSourceCompilerTest.java index b0a83aea3..66032d9dc 100644 --- a/hutool-core/src/test/java/cn/hutool/core/compiler/JavaSourceCompilerTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/compiler/JavaSourceCompilerTest.java @@ -1,8 +1,8 @@ package cn.hutool.core.compiler; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.reflect.ReflectUtil; import cn.hutool.core.compress.ZipUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.reflect.ConstructorUtil; import org.junit.Assert; import org.junit.Test; @@ -36,7 +36,7 @@ public class JavaSourceCompilerTest { // .addLibrary(FileUtil.file("D:\\m2_repo\\cn\\hutool\\hutool-all\\5.5.7\\hutool-all-5.5.7.jar")) .compile(); final Class clazz = classLoader.loadClass("c.C"); - final Object obj = ReflectUtil.newInstance(clazz); + final Object obj = ConstructorUtil.newInstance(clazz); Assert.assertTrue(String.valueOf(obj).startsWith("c.C@")); } diff --git a/hutool-core/src/test/java/cn/hutool/core/reflect/ConstructorUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/reflect/ConstructorUtilTest.java new file mode 100644 index 000000000..4f0cf7778 --- /dev/null +++ b/hutool-core/src/test/java/cn/hutool/core/reflect/ConstructorUtilTest.java @@ -0,0 +1,39 @@ +package cn.hutool.core.reflect; + +import cn.hutool.core.date.Week; +import org.junit.Assert; +import org.junit.Test; + +import java.util.Collection; +import java.util.Map; + +public class ConstructorUtilTest { + @Test + public void noneStaticInnerClassTest() { + final ReflectUtilTest.NoneStaticClass testAClass = ConstructorUtil.newInstanceIfPossible(ReflectUtilTest.NoneStaticClass.class); + Assert.assertNotNull(testAClass); + Assert.assertEquals(2, testAClass.getA()); + } + + @Test + public void newInstanceIfPossibleTest(){ + //noinspection ConstantConditions + final int intValue = ConstructorUtil.newInstanceIfPossible(int.class); + Assert.assertEquals(0, intValue); + + final Integer integer = ConstructorUtil.newInstanceIfPossible(Integer.class); + Assert.assertEquals(new Integer(0), integer); + + final Map map = ConstructorUtil.newInstanceIfPossible(Map.class); + Assert.assertNotNull(map); + + final Collection collection = ConstructorUtil.newInstanceIfPossible(Collection.class); + Assert.assertNotNull(collection); + + final Week week = ConstructorUtil.newInstanceIfPossible(Week.class); + Assert.assertEquals(Week.SUNDAY, week); + + final int[] intArray = ConstructorUtil.newInstanceIfPossible(int[].class); + Assert.assertArrayEquals(new int[0], intArray); + } +} diff --git a/hutool-core/src/test/java/cn/hutool/core/reflect/FieldUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/reflect/FieldUtilTest.java new file mode 100644 index 000000000..411127c3f --- /dev/null +++ b/hutool-core/src/test/java/cn/hutool/core/reflect/FieldUtilTest.java @@ -0,0 +1,42 @@ +package cn.hutool.core.reflect; + +import org.junit.Assert; +import org.junit.Test; + +import java.lang.reflect.Field; + +public class FieldUtilTest { + @Test + public void getFieldTest() { + // 能够获取到父类字段 + final Field privateField = FieldUtil.getField(ReflectUtilTest.TestSubClass.class, "privateField"); + Assert.assertNotNull(privateField); + } + + @Test + public void getFieldsTest() { + // 能够获取到父类字段 + final Field[] fields = FieldUtil.getFields(ReflectUtilTest.TestSubClass.class); + Assert.assertEquals(4, fields.length); + } + + @Test + public void setFieldTest() { + final ReflectUtilTest.AClass testClass = new ReflectUtilTest.AClass(); + FieldUtil.setFieldValue(testClass, "a", "111"); + Assert.assertEquals(111, testClass.getA()); + } + + @Test + public void getDeclaredField() { + final Field noField = FieldUtil.getField(ReflectUtilTest.TestSubClass.class, "noField"); + Assert.assertNull(noField); + + // 获取不到父类字段 + final Field field = FieldUtil.getDeClearField(ReflectUtilTest.TestSubClass.class, "field"); + Assert.assertNull(field); + + final Field subField = FieldUtil.getField(ReflectUtilTest.TestSubClass.class, "subField"); + Assert.assertNotNull(subField); + } +} diff --git a/hutool-core/src/test/java/cn/hutool/core/reflect/ReflectUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/reflect/ReflectUtilTest.java index 25e9afe72..0edbc4f85 100644 --- a/hutool-core/src/test/java/cn/hutool/core/reflect/ReflectUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/reflect/ReflectUtilTest.java @@ -1,13 +1,6 @@ package cn.hutool.core.reflect; -import cn.hutool.core.date.Week; import lombok.Data; -import org.junit.Assert; -import org.junit.Test; - -import java.lang.reflect.Field; -import java.util.Collection; -import java.util.Map; /** * 反射工具类单元测试 @@ -16,34 +9,6 @@ import java.util.Map; */ public class ReflectUtilTest { - @Test - public void getFieldTest() { - // 能够获取到父类字段 - final Field privateField = ReflectUtil.getField(TestSubClass.class, "privateField"); - Assert.assertNotNull(privateField); - } - - @Test - public void getFieldsTest() { - // 能够获取到父类字段 - final Field[] fields = ReflectUtil.getFields(TestSubClass.class); - Assert.assertEquals(4, fields.length); - } - - @Test - public void setFieldTest() { - final AClass testClass = new AClass(); - ReflectUtil.setFieldValue(testClass, "a", "111"); - Assert.assertEquals(111, testClass.getA()); - } - - @Test - public void noneStaticInnerClassTest() { - final NoneStaticClass testAClass = ReflectUtil.newInstanceIfPossible(NoneStaticClass.class); - Assert.assertNotNull(testAClass); - Assert.assertEquals(2, testAClass.getA()); - } - @Data static class AClass { private int a; @@ -117,41 +82,6 @@ public class ReflectUtilTest { } } - @Test - public void newInstanceIfPossibleTest(){ - //noinspection ConstantConditions - final int intValue = ReflectUtil.newInstanceIfPossible(int.class); - Assert.assertEquals(0, intValue); - - final Integer integer = ReflectUtil.newInstanceIfPossible(Integer.class); - Assert.assertEquals(new Integer(0), integer); - - final Map map = ReflectUtil.newInstanceIfPossible(Map.class); - Assert.assertNotNull(map); - - final Collection collection = ReflectUtil.newInstanceIfPossible(Collection.class); - Assert.assertNotNull(collection); - - final Week week = ReflectUtil.newInstanceIfPossible(Week.class); - Assert.assertEquals(Week.SUNDAY, week); - - final int[] intArray = ReflectUtil.newInstanceIfPossible(int[].class); - Assert.assertArrayEquals(new int[0], intArray); - } - - @Test - public void getDeclaredField() { - final Field noField = ReflectUtil.getField(TestSubClass.class, "noField"); - Assert.assertNull(noField); - - // 获取不到父类字段 - final Field field = ReflectUtil.getDeClearField(TestSubClass.class, "field"); - Assert.assertNull(field); - - final Field subField = ReflectUtil.getField(TestSubClass.class, "subField"); - Assert.assertNotNull(subField); - } - @SuppressWarnings("unused") static class TestClass { private String privateField; diff --git a/hutool-core/src/test/java/cn/hutool/core/util/TypeUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/TypeUtilTest.java index 107ff1cf6..a41f290a3 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/TypeUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/TypeUtilTest.java @@ -1,7 +1,7 @@ package cn.hutool.core.util; +import cn.hutool.core.reflect.FieldUtil; import cn.hutool.core.reflect.MethodUtil; -import cn.hutool.core.reflect.ReflectUtil; import cn.hutool.core.reflect.TypeUtil; import lombok.Data; import org.junit.Assert; @@ -65,7 +65,7 @@ public class TypeUtilTest { public void getActualTypesTest(){ // 测试多层级泛型参数是否能获取成功 final Type idType = TypeUtil.getActualType(Level3.class, - ReflectUtil.getField(Level3.class, "id")); + FieldUtil.getField(Level3.class, "id")); Assert.assertEquals(Long.class, idType); } diff --git a/hutool-cron/src/main/java/cn/hutool/cron/task/InvokeTask.java b/hutool-cron/src/main/java/cn/hutool/cron/task/InvokeTask.java index 638477ef8..bdf30588c 100644 --- a/hutool-cron/src/main/java/cn/hutool/cron/task/InvokeTask.java +++ b/hutool-cron/src/main/java/cn/hutool/cron/task/InvokeTask.java @@ -2,8 +2,8 @@ package cn.hutool.cron.task; import cn.hutool.core.classloader.ClassLoaderUtil; import cn.hutool.core.exceptions.UtilException; +import cn.hutool.core.reflect.ConstructorUtil; import cn.hutool.core.reflect.MethodUtil; -import cn.hutool.core.reflect.ReflectUtil; import cn.hutool.core.text.StrUtil; import cn.hutool.cron.CronException; @@ -44,7 +44,7 @@ public class InvokeTask implements Task{ if(null == clazz) { throw new IllegalArgumentException("Load class with name of [" + className + "] fail !"); } - this.obj = ReflectUtil.newInstanceIfPossible(clazz); + this.obj = ConstructorUtil.newInstanceIfPossible(clazz); //方法 final String methodName = classNameWithMethodName.substring(splitIndex + 1); diff --git a/hutool-db/src/main/java/cn/hutool/db/handler/ResultSetUtil.java b/hutool-db/src/main/java/cn/hutool/db/handler/ResultSetUtil.java index 50a7ab6b2..099e53aa1 100644 --- a/hutool-db/src/main/java/cn/hutool/db/handler/ResultSetUtil.java +++ b/hutool-db/src/main/java/cn/hutool/db/handler/ResultSetUtil.java @@ -4,11 +4,11 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.PropDesc; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.Assert; +import cn.hutool.core.reflect.ConstructorUtil; import cn.hutool.core.reflect.MethodUtil; -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.reflect.ReflectUtil; -import cn.hutool.core.text.StrUtil; import cn.hutool.core.reflect.TypeUtil; +import cn.hutool.core.text.StrUtil; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.db.DbRuntimeException; import cn.hutool.db.Entity; @@ -84,7 +84,7 @@ public class ResultSetUtil { } //普通bean - final T bean = ReflectUtil.newInstanceIfPossible(beanClass); + final T bean = ConstructorUtil.newInstanceIfPossible(beanClass); //忽略字段大小写 final Map propMap = BeanUtil.getBeanDesc(beanClass).getPropMap(true); String columnLabel; diff --git a/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/ProxyFactory.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/ProxyFactory.java index d6a9f20e9..02df6d14b 100755 --- a/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/ProxyFactory.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/ProxyFactory.java @@ -1,8 +1,8 @@ package cn.hutool.extra.aop.proxy; -import cn.hutool.extra.aop.aspects.Aspect; -import cn.hutool.core.reflect.ReflectUtil; +import cn.hutool.core.reflect.ConstructorUtil; import cn.hutool.core.util.ServiceLoaderUtil; +import cn.hutool.extra.aop.aspects.Aspect; import java.io.Serializable; @@ -25,7 +25,7 @@ public abstract class ProxyFactory implements Serializable { * @since 5.3.1 */ public T proxy(final T target, final Class aspectClass) { - return proxy(target, ReflectUtil.newInstanceIfPossible(aspectClass)); + return proxy(target, ConstructorUtil.newInstanceIfPossible(aspectClass)); } /** @@ -47,7 +47,7 @@ public abstract class ProxyFactory implements Serializable { * @return 代理对象 */ public static T createProxy(final T target, final Class aspectClass) { - return createProxy(target, ReflectUtil.newInstance(aspectClass)); + return createProxy(target, ConstructorUtil.newInstance(aspectClass)); } /** diff --git a/hutool-extra/src/main/java/cn/hutool/extra/cglib/CglibUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/cglib/CglibUtil.java index 76dd63194..e96b1757b 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/cglib/CglibUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/cglib/CglibUtil.java @@ -1,7 +1,7 @@ package cn.hutool.extra.cglib; import cn.hutool.core.lang.Assert; -import cn.hutool.core.reflect.ReflectUtil; +import cn.hutool.core.reflect.ConstructorUtil; import net.sf.cglib.beans.BeanCopier; import net.sf.cglib.beans.BeanMap; import net.sf.cglib.core.Converter; @@ -45,7 +45,7 @@ public class CglibUtil { * @return 目标对象 */ public static T copy(final Object source, final Class targetClass, final Converter converter) { - final T target = ReflectUtil.newInstanceIfPossible(targetClass); + final T target = ConstructorUtil.newInstanceIfPossible(targetClass); copy(source, target, converter); return target; } @@ -178,6 +178,6 @@ public class CglibUtil { */ @SuppressWarnings("rawtypes") public static T toBean(final Map map, final Class beanClass){ - return fillBean(map, ReflectUtil.newInstanceIfPossible(beanClass)); + return fillBean(map, ConstructorUtil.newInstanceIfPossible(beanClass)); } } diff --git a/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java index d20613a6b..8a4347fc7 100755 --- a/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java @@ -15,11 +15,11 @@ import cn.hutool.core.net.NetUtil; import cn.hutool.core.net.URLEncoder; import cn.hutool.core.net.multipart.MultipartFormData; import cn.hutool.core.net.multipart.UploadSetting; +import cn.hutool.core.reflect.ConstructorUtil; +import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.ObjUtil; -import cn.hutool.core.reflect.ReflectUtil; -import cn.hutool.core.text.StrUtil; import jakarta.servlet.ServletOutputStream; import jakarta.servlet.ServletRequest; import jakarta.servlet.http.Cookie; @@ -182,7 +182,7 @@ public class JakartaServletUtil { * @return Bean */ public static T toBean(final ServletRequest request, final Class beanClass, final boolean isIgnoreError) { - return fillBean(request, ReflectUtil.newInstanceIfPossible(beanClass), isIgnoreError); + return fillBean(request, ConstructorUtil.newInstanceIfPossible(beanClass), isIgnoreError); } // --------------------------------------------------------- fillBean end diff --git a/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java index f4e3b3881..312fb379b 100755 --- a/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java @@ -15,11 +15,11 @@ import cn.hutool.core.net.NetUtil; import cn.hutool.core.net.URLEncoder; import cn.hutool.core.net.multipart.MultipartFormData; import cn.hutool.core.net.multipart.UploadSetting; +import cn.hutool.core.reflect.ConstructorUtil; +import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.ObjUtil; -import cn.hutool.core.reflect.ReflectUtil; -import cn.hutool.core.text.StrUtil; import javax.servlet.ServletOutputStream; import javax.servlet.ServletRequest; @@ -182,7 +182,7 @@ public class ServletUtil { * @return Bean */ public static T toBean(final ServletRequest request, final Class beanClass, final boolean isIgnoreError) { - return fillBean(request, ReflectUtil.newInstanceIfPossible(beanClass), isIgnoreError); + return fillBean(request, ConstructorUtil.newInstanceIfPossible(beanClass), isIgnoreError); } // --------------------------------------------------------- fillBean end diff --git a/hutool-extra/src/main/java/cn/hutool/extra/template/engine/TemplateFactory.java b/hutool-extra/src/main/java/cn/hutool/extra/template/engine/TemplateFactory.java index 196af83b5..0558316a7 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/template/engine/TemplateFactory.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/template/engine/TemplateFactory.java @@ -1,9 +1,9 @@ package cn.hutool.extra.template.engine; import cn.hutool.core.lang.Singleton; -import cn.hutool.core.reflect.ReflectUtil; -import cn.hutool.core.util.ServiceLoaderUtil; +import cn.hutool.core.reflect.ConstructorUtil; import cn.hutool.core.text.StrUtil; +import cn.hutool.core.util.ServiceLoaderUtil; import cn.hutool.extra.template.TemplateConfig; import cn.hutool.extra.template.TemplateEngine; import cn.hutool.extra.template.TemplateException; @@ -61,7 +61,7 @@ public class TemplateFactory { final Class customEngineClass = config.getCustomEngine(); final TemplateEngine engine; if(null != customEngineClass){ - engine = ReflectUtil.newInstance(customEngineClass); + engine = ConstructorUtil.newInstance(customEngineClass); }else{ engine = ServiceLoaderUtil.loadFirstAvailable(TemplateEngine.class); } diff --git a/hutool-http/src/main/java/cn/hutool/http/HttpConnection.java b/hutool-http/src/main/java/cn/hutool/http/HttpConnection.java index 95b4bc03c..c0b6fbc87 100644 --- a/hutool-http/src/main/java/cn/hutool/http/HttpConnection.java +++ b/hutool-http/src/main/java/cn/hutool/http/HttpConnection.java @@ -1,10 +1,10 @@ package cn.hutool.http; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.ObjUtil; -import cn.hutool.core.reflect.ReflectUtil; -import cn.hutool.core.text.StrUtil; import cn.hutool.core.net.URLUtil; +import cn.hutool.core.reflect.FieldUtil; +import cn.hutool.core.text.StrUtil; +import cn.hutool.core.util.ObjUtil; import cn.hutool.http.ssl.DefaultSSLInfo; import javax.net.ssl.HostnameVerifier; @@ -453,7 +453,7 @@ public class HttpConnection { // 修改为POST,而且无法调用setRequestMethod方法修改,因此此处使用反射强制修改字段属性值 // https://stackoverflow.com/questions/978061/http-get-with-request-body/983458 if(method == Method.GET && method != getMethod()){ - ReflectUtil.setFieldValue(this.conn, "method", Method.GET.name()); + FieldUtil.setFieldValue(this.conn, "method", Method.GET.name()); } return out; diff --git a/hutool-http/src/main/java/cn/hutool/http/HttpGlobalConfig.java b/hutool-http/src/main/java/cn/hutool/http/HttpGlobalConfig.java index ebc5a51ba..e09df3dd8 100755 --- a/hutool-http/src/main/java/cn/hutool/http/HttpGlobalConfig.java +++ b/hutool-http/src/main/java/cn/hutool/http/HttpGlobalConfig.java @@ -1,8 +1,8 @@ package cn.hutool.http; +import cn.hutool.core.reflect.FieldUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.RandomUtil; -import cn.hutool.core.reflect.ReflectUtil; import cn.hutool.http.cookie.GlobalCookieManager; import java.io.Serializable; @@ -192,20 +192,20 @@ public class HttpGlobalConfig implements Serializable { if (isAllowPatch) { return; } - final Field methodsField = ReflectUtil.getField(HttpURLConnection.class, "methods"); + final Field methodsField = FieldUtil.getField(HttpURLConnection.class, "methods"); if (null == methodsField) { throw new HttpException("None static field [methods] with Java version: [{}]", System.getProperty("java.version")); } // 去除final修饰 - ReflectUtil.setFieldValue(methodsField, "modifiers", methodsField.getModifiers() & ~Modifier.FINAL); + FieldUtil.setFieldValue(methodsField, "modifiers", methodsField.getModifiers() & ~Modifier.FINAL); final String[] methods = { "GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE", "PATCH" }; - ReflectUtil.setFieldValue(null, methodsField, methods); + FieldUtil.setFieldValue(null, methodsField, methods); // 检查注入是否成功 - final Object staticFieldValue = ReflectUtil.getStaticFieldValue(methodsField); + final Object staticFieldValue = FieldUtil.getStaticFieldValue(methodsField); if (false == ArrayUtil.equals(methods, staticFieldValue)) { throw new HttpException("Inject value to field [methods] failed!"); } diff --git a/hutool-json/src/main/java/cn/hutool/json/JSONConverter.java b/hutool-json/src/main/java/cn/hutool/json/JSONConverter.java index e28d69568..9473cb1a7 100644 --- a/hutool-json/src/main/java/cn/hutool/json/JSONConverter.java +++ b/hutool-json/src/main/java/cn/hutool/json/JSONConverter.java @@ -7,10 +7,10 @@ import cn.hutool.core.convert.Converter; import cn.hutool.core.convert.ConverterRegistry; import cn.hutool.core.convert.impl.ArrayConverter; import cn.hutool.core.convert.impl.BeanConverter; -import cn.hutool.core.util.ObjUtil; -import cn.hutool.core.reflect.ReflectUtil; -import cn.hutool.core.text.StrUtil; +import cn.hutool.core.reflect.ConstructorUtil; import cn.hutool.core.reflect.TypeUtil; +import cn.hutool.core.text.StrUtil; +import cn.hutool.core.util.ObjUtil; import cn.hutool.json.serialize.GlobalSerializeMapping; import cn.hutool.json.serialize.JSONDeserializer; @@ -78,7 +78,8 @@ public class JSONConverter implements Converter { if(targetType instanceof Class){ final Class clazz = (Class) targetType; if (JSONBeanParser.class.isAssignableFrom(clazz)){ - @SuppressWarnings("rawtypes") final JSONBeanParser target = (JSONBeanParser) ReflectUtil.newInstanceIfPossible(clazz); + @SuppressWarnings("rawtypes") + final JSONBeanParser target = (JSONBeanParser) ConstructorUtil.newInstanceIfPossible(clazz); if(null == target){ throw new ConvertException("Can not instance [{}]", targetType); } diff --git a/hutool-setting/src/main/java/cn/hutool/setting/AbsSetting.java b/hutool-setting/src/main/java/cn/hutool/setting/AbsSetting.java index ae1bca986..db8a3f0a8 100644 --- a/hutool-setting/src/main/java/cn/hutool/setting/AbsSetting.java +++ b/hutool-setting/src/main/java/cn/hutool/setting/AbsSetting.java @@ -5,9 +5,9 @@ import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.ValueProvider; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.getter.OptNullBasicTypeFromStringGetter; -import cn.hutool.core.util.ObjUtil; -import cn.hutool.core.reflect.ReflectUtil; +import cn.hutool.core.reflect.ConstructorUtil; import cn.hutool.core.text.StrUtil; +import cn.hutool.core.util.ObjUtil; import cn.hutool.log.Log; import cn.hutool.log.LogFactory; @@ -311,7 +311,7 @@ public abstract class AbsSetting implements OptNullBasicTypeFromStringGetter T toBean(final String group, final Class beanClass) { - return toBean(group, ReflectUtil.newInstanceIfPossible(beanClass)); + return toBean(group, ConstructorUtil.newInstanceIfPossible(beanClass)); } /** diff --git a/hutool-setting/src/main/java/cn/hutool/setting/dialect/Props.java b/hutool-setting/src/main/java/cn/hutool/setting/dialect/Props.java index 48e275d76..6850307e2 100644 --- a/hutool-setting/src/main/java/cn/hutool/setting/dialect/Props.java +++ b/hutool-setting/src/main/java/cn/hutool/setting/dialect/Props.java @@ -2,8 +2,6 @@ package cn.hutool.setting.dialect; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.convert.Convert; -import cn.hutool.core.lang.getter.BasicTypeGetter; -import cn.hutool.core.lang.getter.OptBasicTypeGetter; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; @@ -16,10 +14,12 @@ import cn.hutool.core.io.watch.SimpleWatcher; import cn.hutool.core.io.watch.WatchMonitor; import cn.hutool.core.io.watch.WatchUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.lang.getter.BasicTypeGetter; +import cn.hutool.core.lang.getter.OptBasicTypeGetter; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.reflect.ReflectUtil; +import cn.hutool.core.reflect.ConstructorUtil; import cn.hutool.core.text.StrUtil; +import cn.hutool.core.util.CharsetUtil; import cn.hutool.log.StaticLog; import java.io.BufferedReader; @@ -549,7 +549,7 @@ public final class Props extends Properties implements BasicTypeGetter, * @since 4.6.3 */ public T toBean(final Class beanClass, final String prefix) { - final T bean = ReflectUtil.newInstanceIfPossible(beanClass); + final T bean = ConstructorUtil.newInstanceIfPossible(beanClass); return fillBean(bean, prefix); }