refactor: 改为多模块结构,增加更多的服务模板SDK
This commit is contained in:
30
spring-boot-service-template-common/pom.xml
Normal file
30
spring-boot-service-template-common/pom.xml
Normal file
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.lanyuanxiaoyao</groupId>
|
||||
<artifactId>spring-boot-service-template</artifactId>
|
||||
<version>1.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>spring-boot-service-template-common</artifactId>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>jar-no-fork</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@@ -0,0 +1,109 @@
|
||||
package com.lanyuanxiaoyao.service.template.common.helper;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
public class ObjectHelper {
|
||||
/**
|
||||
* 判断对象是否为null
|
||||
*
|
||||
* @param obj 待检查的对象
|
||||
* @return 如果对象为null返回true,否则返回false
|
||||
*/
|
||||
public static boolean isNull(Object obj) {
|
||||
return obj == null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断对象是否不为null
|
||||
*
|
||||
* @param obj 待判断的对象
|
||||
* @return 如果对象不为null则返回true,否则返回false
|
||||
*/
|
||||
public static boolean isNotNull(Object obj) {
|
||||
return !isNull(obj);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断对象是否为空
|
||||
*
|
||||
* @param obj 待判断的对象
|
||||
* @return 如果对象为null或为空则返回true,否则返回false
|
||||
*/
|
||||
public static boolean isEmpty(Object obj) {
|
||||
// 首先判断对象是否为null
|
||||
if (isNull(obj)) return true;
|
||||
// 判断是否为集合类型
|
||||
else if (obj instanceof Collection<?> collection) return collection.isEmpty();
|
||||
// 判断是否为Map类型
|
||||
else if (obj instanceof Map<?, ?> map) return map.isEmpty();
|
||||
// 判断是否为字符序列类型
|
||||
else if (obj instanceof CharSequence sequence) return sequence.isEmpty();
|
||||
// 判断是否为各种基本类型数组
|
||||
else if (obj instanceof Object[] array) return array.length == 0;
|
||||
else if (obj instanceof byte[] array) return array.length == 0;
|
||||
else if (obj instanceof short[] array) return array.length == 0;
|
||||
else if (obj instanceof int[] array) return array.length == 0;
|
||||
else if (obj instanceof long[] array) return array.length == 0;
|
||||
else if (obj instanceof float[] array) return array.length == 0;
|
||||
else if (obj instanceof double[] array) return array.length == 0;
|
||||
else if (obj instanceof char[] array) return array.length == 0;
|
||||
else if (obj instanceof boolean[] array) return array.length == 0;
|
||||
// 判断是否为Optional类型
|
||||
else if (obj instanceof Optional<?> optional) return optional.isEmpty();
|
||||
// 其他情况认为对象不为空
|
||||
else return false;
|
||||
}
|
||||
|
||||
|
||||
public static boolean isNotEmpty(Object obj) {
|
||||
return !isEmpty(obj);
|
||||
}
|
||||
|
||||
public static <T> T defaultIfNull(final T object, final T defaultValue) {
|
||||
return isNull(object) ? defaultValue : object;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断给定的类是否可比较
|
||||
*
|
||||
* @param clazz 待判断的类对象
|
||||
* @return 如果类是枚举、字符序列、可比较接口的实现类或基本数据类型则返回true,否则返回false
|
||||
*/
|
||||
public static boolean isComparable(Class<?> clazz) {
|
||||
if (isNull(clazz)) return false;
|
||||
// 判断类是否为可比较类型:枚举、字符序列、可比较接口实现类或基本数据类型
|
||||
return clazz.isEnum() ||
|
||||
CharSequence.class.isAssignableFrom(clazz) ||
|
||||
Comparable.class.isAssignableFrom(clazz) ||
|
||||
clazz.isPrimitive();
|
||||
}
|
||||
|
||||
public static boolean isComparable(Object obj) {
|
||||
if (isNull(obj)) return false;
|
||||
return isComparable(obj.getClass());
|
||||
}
|
||||
|
||||
public static boolean isCollection(Class<?> clazz) {
|
||||
if (isNull(clazz)) return false;
|
||||
return Collection.class.isAssignableFrom(clazz);
|
||||
}
|
||||
|
||||
public static boolean isCollection(Object obj) {
|
||||
if (isNull(obj)) return false;
|
||||
return isCollection(obj.getClass());
|
||||
}
|
||||
|
||||
public static boolean isString(Class<?> clazz) {
|
||||
if (isNull(clazz)) return false;
|
||||
return String.class.isAssignableFrom(clazz);
|
||||
}
|
||||
|
||||
public static boolean isString(Object obj) {
|
||||
if (isNull(obj)) return false;
|
||||
return isString(obj.getClass());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user