ÎļþÃû´Ó ruoyi/src/main/java/com/ruoyi/common/utils/bean/BeanUtils.java ÐÞ¸Ä |
| | |
| | | package com.ruoyi.common.utils.bean; |
| | | |
| | | import java.lang.reflect.Method; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.regex.Matcher; |
| | | import java.util.regex.Pattern; |
| | | |
| | | /** |
| | | * Bean å·¥å
·ç±» |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | public class BeanUtils extends org.springframework.beans.BeanUtils |
| | | { |
| | | /** Beanæ¹æ³åä¸å±æ§åå¼å§ç䏿 */ |
| | | private static final int BEAN_METHOD_PROP_INDEX = 3; |
| | | |
| | | /** * å¹é
getteræ¹æ³çæ£åè¡¨è¾¾å¼ */ |
| | | private static final Pattern GET_PATTERN = Pattern.compile("get(\\p{javaUpperCase}\\w*)"); |
| | | |
| | | /** * å¹é
setteræ¹æ³çæ£åè¡¨è¾¾å¼ */ |
| | | private static final Pattern SET_PATTERN = Pattern.compile("set(\\p{javaUpperCase}\\w*)"); |
| | | |
| | | /** |
| | | * Bean屿§å¤å¶å·¥å
·æ¹æ³ã |
| | | * |
| | | * @param dest ç®æ 对象 |
| | | * @param src æºå¯¹è±¡ |
| | | */ |
| | | public static void copyBeanProp(Object dest, Object src) |
| | | { |
| | | try |
| | | { |
| | | copyProperties(src, dest); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·å对象çsetteræ¹æ³ã |
| | | * |
| | | * @param obj 对象 |
| | | * @return 对象çsetteræ¹æ³å表 |
| | | */ |
| | | public static List<Method> getSetterMethods(Object obj) |
| | | { |
| | | // setteræ¹æ³å表 |
| | | List<Method> setterMethods = new ArrayList<Method>(); |
| | | |
| | | // è·åæææ¹æ³ |
| | | Method[] methods = obj.getClass().getMethods(); |
| | | |
| | | // æ¥æ¾setteræ¹æ³ |
| | | |
| | | for (Method method : methods) |
| | | { |
| | | Matcher m = SET_PATTERN.matcher(method.getName()); |
| | | if (m.matches() && (method.getParameterTypes().length == 1)) |
| | | { |
| | | setterMethods.add(method); |
| | | } |
| | | } |
| | | // è¿åsetteræ¹æ³å表 |
| | | return setterMethods; |
| | | } |
| | | |
| | | /** |
| | | * è·å对象çgetteræ¹æ³ã |
| | | * |
| | | * @param obj 对象 |
| | | * @return 对象çgetteræ¹æ³å表 |
| | | */ |
| | | |
| | | public static List<Method> getGetterMethods(Object obj) |
| | | { |
| | | // getteræ¹æ³å表 |
| | | List<Method> getterMethods = new ArrayList<Method>(); |
| | | // è·åæææ¹æ³ |
| | | Method[] methods = obj.getClass().getMethods(); |
| | | // æ¥æ¾getteræ¹æ³ |
| | | for (Method method : methods) |
| | | { |
| | | Matcher m = GET_PATTERN.matcher(method.getName()); |
| | | if (m.matches() && (method.getParameterTypes().length == 0)) |
| | | { |
| | | getterMethods.add(method); |
| | | } |
| | | } |
| | | // è¿ågetteræ¹æ³å表 |
| | | return getterMethods; |
| | | } |
| | | |
| | | /** |
| | | * æ£æ¥Beanæ¹æ³åä¸ç屿§åæ¯å¦ç¸çã<br> |
| | | * å¦getName()åsetName()屿§å䏿 ·ï¼getName()åsetAge()屿§åä¸ä¸æ ·ã |
| | | * |
| | | * @param m1 æ¹æ³å1 |
| | | * @param m2 æ¹æ³å2 |
| | | * @return 屿§å䏿 ·è¿åtrueï¼å¦åè¿åfalse |
| | | */ |
| | | |
| | | public static boolean isMethodPropEquals(String m1, String m2) |
| | | { |
| | | return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX)); |
| | | } |
| | | } |
| | | package com.ruoyi.common.utils.bean;
|
| | |
|
| | | import java.lang.reflect.Method;
|
| | | import java.util.ArrayList;
|
| | | import java.util.List;
|
| | | import java.util.regex.Matcher;
|
| | | import java.util.regex.Pattern;
|
| | |
|
| | | /**
|
| | | * Bean å·¥å
·ç±»
|
| | | * |
| | | * @author ruoyi
|
| | | */
|
| | | public class BeanUtils extends org.springframework.beans.BeanUtils
|
| | | {
|
| | | /** Beanæ¹æ³åä¸å±æ§åå¼å§ç䏿 */
|
| | | private static final int BEAN_METHOD_PROP_INDEX = 3;
|
| | |
|
| | | /** * å¹é
getteræ¹æ³çæ£åè¡¨è¾¾å¼ */
|
| | | private static final Pattern GET_PATTERN = Pattern.compile("get(\\p{javaUpperCase}\\w*)");
|
| | |
|
| | | /** * å¹é
setteræ¹æ³çæ£åè¡¨è¾¾å¼ */
|
| | | private static final Pattern SET_PATTERN = Pattern.compile("set(\\p{javaUpperCase}\\w*)");
|
| | |
|
| | | /**
|
| | | * Bean屿§å¤å¶å·¥å
·æ¹æ³ã
|
| | | * |
| | | * @param dest ç®æ 对象
|
| | | * @param src æºå¯¹è±¡
|
| | | */
|
| | | public static void copyBeanProp(Object dest, Object src)
|
| | | {
|
| | | try
|
| | | {
|
| | | copyProperties(src, dest);
|
| | | }
|
| | | catch (Exception e)
|
| | | {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * è·å对象çsetteræ¹æ³ã
|
| | | * |
| | | * @param obj 对象
|
| | | * @return 对象çsetteræ¹æ³å表
|
| | | */
|
| | | public static List<Method> getSetterMethods(Object obj)
|
| | | {
|
| | | // setteræ¹æ³å表
|
| | | List<Method> setterMethods = new ArrayList<Method>();
|
| | |
|
| | | // è·åæææ¹æ³
|
| | | Method[] methods = obj.getClass().getMethods();
|
| | |
|
| | | // æ¥æ¾setteræ¹æ³
|
| | |
|
| | | for (Method method : methods)
|
| | | {
|
| | | Matcher m = SET_PATTERN.matcher(method.getName());
|
| | | if (m.matches() && (method.getParameterTypes().length == 1))
|
| | | {
|
| | | setterMethods.add(method);
|
| | | }
|
| | | }
|
| | | // è¿åsetteræ¹æ³å表
|
| | | return setterMethods;
|
| | | }
|
| | |
|
| | | /**
|
| | | * è·å对象çgetteræ¹æ³ã
|
| | | * |
| | | * @param obj 对象
|
| | | * @return 对象çgetteræ¹æ³å表
|
| | | */
|
| | |
|
| | | public static List<Method> getGetterMethods(Object obj)
|
| | | {
|
| | | // getteræ¹æ³å表
|
| | | List<Method> getterMethods = new ArrayList<Method>();
|
| | | // è·åæææ¹æ³
|
| | | Method[] methods = obj.getClass().getMethods();
|
| | | // æ¥æ¾getteræ¹æ³
|
| | | for (Method method : methods)
|
| | | {
|
| | | Matcher m = GET_PATTERN.matcher(method.getName());
|
| | | if (m.matches() && (method.getParameterTypes().length == 0))
|
| | | {
|
| | | getterMethods.add(method);
|
| | | }
|
| | | }
|
| | | // è¿ågetteræ¹æ³å表
|
| | | return getterMethods;
|
| | | }
|
| | |
|
| | | /**
|
| | | * æ£æ¥Beanæ¹æ³åä¸ç屿§åæ¯å¦ç¸çã<br>
|
| | | * å¦getName()åsetName()屿§å䏿 ·ï¼getName()åsetAge()屿§åä¸ä¸æ ·ã
|
| | | * |
| | | * @param m1 æ¹æ³å1
|
| | | * @param m2 æ¹æ³å2
|
| | | * @return 屿§å䏿 ·è¿åtrueï¼å¦åè¿åfalse
|
| | | */
|
| | |
|
| | | public static boolean isMethodPropEquals(String m1, String m2)
|
| | | {
|
| | | return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX));
|
| | | }
|
| | | }
|