From 7bdce848e7067004af1efe32ddc0dc52070b7b45 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 16 六月 2021 15:36:45 +0800 Subject: [PATCH] update 升级 hutool 5.7.1 适配工具类 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java | 179 ++++++++++++-------------------------------- pom.xml | 2 ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java | 11 +- 3 files changed, 56 insertions(+), 136 deletions(-) diff --git a/pom.xml b/pom.xml index 3eab98a..fc69c11 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ <velocity.version>1.7</velocity.version> <jwt.version>0.9.1</jwt.version> <mybatis-plus.version>3.4.3.1</mybatis-plus.version> - <hutool.version>5.6.5</hutool.version> + <hutool.version>5.7.1</hutool.version> <feign.version>2.2.6.RELEASE</feign.version> <feign-okhttp.version>11.0</feign-okhttp.version> <spring-boot-admin.version>2.3.1</spring-boot-admin.version> diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java index 7ffa94c..c5d17d8 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import java.lang.reflect.Method; +import java.util.List; /** * 鍙嶅皠宸ュ叿绫�. 鎻愪緵璋冪敤getter/setter鏂规硶, 璁块棶绉佹湁鍙橀噺, 璋冪敤绉佹湁鏂规硶, 鑾峰彇娉涘瀷绫诲瀷Class, 琚獳OP杩囩殑鐪熷疄绫荤瓑宸ュ叿鍑芥暟. @@ -37,13 +38,13 @@ */ public static <E> void invokeSetter(Object obj, String propertyName, E value) { Object object = obj; - String[] names = StrUtil.split(propertyName, "."); - for (int i = 0; i < names.length; i++) { - if (i < names.length - 1) { - String getterMethodName = GETTER_PREFIX + StrUtil.upperFirst(names[i]); + List<String> names = StrUtil.split(propertyName, "."); + for (int i = 0; i < names.size(); i++) { + if (i < names.size() - 1) { + String getterMethodName = GETTER_PREFIX + StrUtil.upperFirst(names.get(i)); object = invoke(object, getterMethodName); } else { - String setterMethodName = SETTER_PREFIX + StrUtil.upperFirst(names[i]); + String setterMethodName = SETTER_PREFIX + StrUtil.upperFirst(names.get(i)); Method method = getMethodByName(object.getClass(), setterMethodName); invoke(object, method, value); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java index 8e98c50..14ff8a4 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java @@ -1,146 +1,65 @@ package com.ruoyi.common.utils.spring; -import cn.hutool.core.lang.Validator; +import cn.hutool.extra.spring.SpringUtil; import org.springframework.aop.framework.AopContext; -import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; -import org.springframework.beans.factory.config.BeanFactoryPostProcessor; -import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; /** - * spring宸ュ叿绫� 鏂逛究鍦ㄩ潪spring绠$悊鐜涓幏鍙朾ean - * - * @author ruoyi + * spring宸ュ叿绫� + * + * @author Lion Li */ @Component -public final class SpringUtils implements BeanFactoryPostProcessor, ApplicationContextAware -{ - /** Spring搴旂敤涓婁笅鏂囩幆澧� */ - private static ConfigurableListableBeanFactory beanFactory; +public final class SpringUtils extends SpringUtil { - private static ApplicationContext applicationContext; + /** + * 濡傛灉BeanFactory鍖呭惈涓�涓笌鎵�缁欏悕绉板尮閰嶇殑bean瀹氫箟锛屽垯杩斿洖true + * + * @param name + * @return boolean + */ + public static boolean containsBean(String name) { + return getBeanFactory().containsBean(name); + } - @Override - public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException - { - SpringUtils.beanFactory = beanFactory; - } + /** + * 鍒ゆ柇浠ョ粰瀹氬悕瀛楁敞鍐岀殑bean瀹氫箟鏄竴涓猻ingleton杩樻槸涓�涓猵rototype銆� + * 濡傛灉涓庣粰瀹氬悕瀛楃浉搴旂殑bean瀹氫箟娌℃湁琚壘鍒帮紝灏嗕細鎶涘嚭涓�涓紓甯革紙NoSuchBeanDefinitionException锛� + * + * @param name + * @return boolean + */ + public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException { + return getBeanFactory().isSingleton(name); + } - @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException - { - SpringUtils.applicationContext = applicationContext; - } + /** + * @param name + * @return Class 娉ㄥ唽瀵硅薄鐨勭被鍨� + */ + public static Class<?> getType(String name) throws NoSuchBeanDefinitionException { + return getBeanFactory().getType(name); + } - /** - * 鑾峰彇瀵硅薄 - * - * @param name - * @return Object 涓�涓互鎵�缁欏悕瀛楁敞鍐岀殑bean鐨勫疄渚� - * @throws org.springframework.beans.BeansException - * - */ - @SuppressWarnings("unchecked") - public static <T> T getBean(String name) throws BeansException - { - return (T) beanFactory.getBean(name); - } + /** + * 濡傛灉缁欏畾鐨刡ean鍚嶅瓧鍦╞ean瀹氫箟涓湁鍒悕锛屽垯杩斿洖杩欎簺鍒悕 + * + * @param name + */ + public static String[] getAliases(String name) throws NoSuchBeanDefinitionException { + return getBeanFactory().getAliases(name); + } - /** - * 鑾峰彇绫诲瀷涓簉equiredType鐨勫璞� - * - * @param clz - * @return - * @throws org.springframework.beans.BeansException - * - */ - public static <T> T getBean(Class<T> clz) throws BeansException - { - T result = (T) beanFactory.getBean(clz); - return result; - } + /** + * 鑾峰彇aop浠g悊瀵硅薄 + * + * @param invoker + * @return + */ + @SuppressWarnings("unchecked") + public static <T> T getAopProxy(T invoker) { + return (T) AopContext.currentProxy(); + } - /** - * 濡傛灉BeanFactory鍖呭惈涓�涓笌鎵�缁欏悕绉板尮閰嶇殑bean瀹氫箟锛屽垯杩斿洖true - * - * @param name - * @return boolean - */ - public static boolean containsBean(String name) - { - return beanFactory.containsBean(name); - } - - /** - * 鍒ゆ柇浠ョ粰瀹氬悕瀛楁敞鍐岀殑bean瀹氫箟鏄竴涓猻ingleton杩樻槸涓�涓猵rototype銆� 濡傛灉涓庣粰瀹氬悕瀛楃浉搴旂殑bean瀹氫箟娌℃湁琚壘鍒帮紝灏嗕細鎶涘嚭涓�涓紓甯革紙NoSuchBeanDefinitionException锛� - * - * @param name - * @return boolean - * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException - * - */ - public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException - { - return beanFactory.isSingleton(name); - } - - /** - * @param name - * @return Class 娉ㄥ唽瀵硅薄鐨勭被鍨� - * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException - * - */ - public static Class<?> getType(String name) throws NoSuchBeanDefinitionException - { - return beanFactory.getType(name); - } - - /** - * 濡傛灉缁欏畾鐨刡ean鍚嶅瓧鍦╞ean瀹氫箟涓湁鍒悕锛屽垯杩斿洖杩欎簺鍒悕 - * - * @param name - * @return - * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException - * - */ - public static String[] getAliases(String name) throws NoSuchBeanDefinitionException - { - return beanFactory.getAliases(name); - } - - /** - * 鑾峰彇aop浠g悊瀵硅薄 - * - * @param invoker - * @return - */ - @SuppressWarnings("unchecked") - public static <T> T getAopProxy(T invoker) - { - return (T) AopContext.currentProxy(); - } - - /** - * 鑾峰彇褰撳墠鐨勭幆澧冮厤缃紝鏃犻厤缃繑鍥瀗ull - * - * @return 褰撳墠鐨勭幆澧冮厤缃� - */ - public static String[] getActiveProfiles() - { - return applicationContext.getEnvironment().getActiveProfiles(); - } - - /** - * 鑾峰彇褰撳墠鐨勭幆澧冮厤缃紝褰撴湁澶氫釜鐜閰嶇疆鏃讹紝鍙幏鍙栫涓�涓� - * - * @return 褰撳墠鐨勭幆澧冮厤缃� - */ - public static String getActiveProfile() - { - final String[] activeProfiles = getActiveProfiles(); - return Validator.isNotEmpty(activeProfiles) ? activeProfiles[0] : null; - } } -- Gitblit v1.9.3