更新springboot版本,解决部分问题
This commit is contained in:
parent
3fb7b6b714
commit
9b284dd0e2
2
pom.xml
2
pom.xml
@ -17,7 +17,7 @@
|
|||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
<java.version>17</java.version>
|
<java.version>17</java.version>
|
||||||
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
|
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
|
||||||
<spring-boot.version>3.4.0</spring-boot.version>
|
<spring-boot.version>3.4.1</spring-boot.version>
|
||||||
<druid.version>1.2.23</druid.version>
|
<druid.version>1.2.23</druid.version>
|
||||||
<dynamic.version>3.5.2</dynamic.version>
|
<dynamic.version>3.5.2</dynamic.version>
|
||||||
<jta.version>1.1</jta.version>
|
<jta.version>1.1</jta.version>
|
||||||
|
@ -9,6 +9,7 @@ import java.time.LocalTime;
|
|||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,8 +17,8 @@ import org.apache.commons.lang3.time.DateFormatUtils;
|
|||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
*/
|
*/
|
||||||
public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
||||||
{
|
|
||||||
public static String YYYY = "yyyy";
|
public static String YYYY = "yyyy";
|
||||||
|
|
||||||
public static String YYYY_MM = "yyyy-MM";
|
public static String YYYY_MM = "yyyy-MM";
|
||||||
@ -38,8 +39,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||||||
*
|
*
|
||||||
* @return Date() 当前日期
|
* @return Date() 当前日期
|
||||||
*/
|
*/
|
||||||
public static Date getNowDate()
|
public static Date getNowDate() {
|
||||||
{
|
|
||||||
return new Date();
|
return new Date();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,44 +48,34 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||||||
*
|
*
|
||||||
* @return String
|
* @return String
|
||||||
*/
|
*/
|
||||||
public static String getDate()
|
public static String getDate() {
|
||||||
{
|
|
||||||
return dateTimeNow(YYYY_MM_DD);
|
return dateTimeNow(YYYY_MM_DD);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final String getTime()
|
public static final String getTime() {
|
||||||
{
|
|
||||||
return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
|
return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final String dateTimeNow()
|
public static final String dateTimeNow() {
|
||||||
{
|
|
||||||
return dateTimeNow(YYYYMMDDHHMMSS);
|
return dateTimeNow(YYYYMMDDHHMMSS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final String dateTimeNow(final String format)
|
public static final String dateTimeNow(final String format) {
|
||||||
{
|
|
||||||
return parseDateToStr(format, new Date());
|
return parseDateToStr(format, new Date());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final String dateTime(final Date date)
|
public static final String dateTime(final Date date) {
|
||||||
{
|
|
||||||
return parseDateToStr(YYYY_MM_DD, date);
|
return parseDateToStr(YYYY_MM_DD, date);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final String parseDateToStr(final String format, final Date date)
|
public static final String parseDateToStr(final String format, final Date date) {
|
||||||
{
|
|
||||||
return new SimpleDateFormat(format).format(date);
|
return new SimpleDateFormat(format).format(date);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Date dateTime(final String format, final String ts)
|
public static final Date dateTime(final String format, final String ts) {
|
||||||
{
|
try {
|
||||||
try
|
|
||||||
{
|
|
||||||
return new SimpleDateFormat(format).parse(ts);
|
return new SimpleDateFormat(format).parse(ts);
|
||||||
}
|
} catch (ParseException e) {
|
||||||
catch (ParseException e)
|
|
||||||
{
|
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -93,8 +83,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||||||
/**
|
/**
|
||||||
* 日期路径 即年/月/日 如2018/08/08
|
* 日期路径 即年/月/日 如2018/08/08
|
||||||
*/
|
*/
|
||||||
public static final String datePath()
|
public static final String datePath() {
|
||||||
{
|
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
return DateFormatUtils.format(now, "yyyy/MM/dd");
|
return DateFormatUtils.format(now, "yyyy/MM/dd");
|
||||||
}
|
}
|
||||||
@ -102,8 +91,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||||||
/**
|
/**
|
||||||
* 日期路径 即年/月/日 如20180808
|
* 日期路径 即年/月/日 如20180808
|
||||||
*/
|
*/
|
||||||
public static final String dateTime()
|
public static final String dateTime() {
|
||||||
{
|
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
return DateFormatUtils.format(now, "yyyyMMdd");
|
return DateFormatUtils.format(now, "yyyyMMdd");
|
||||||
}
|
}
|
||||||
@ -111,18 +99,13 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||||||
/**
|
/**
|
||||||
* 日期型字符串转化为日期 格式
|
* 日期型字符串转化为日期 格式
|
||||||
*/
|
*/
|
||||||
public static Date parseDate(Object str)
|
public static Date parseDate(Object str) {
|
||||||
{
|
if (str == null) {
|
||||||
if (str == null)
|
|
||||||
{
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
return parseDate(str.toString(), parsePatterns);
|
return parseDate(str.toString(), parsePatterns);
|
||||||
}
|
} catch (ParseException e) {
|
||||||
catch (ParseException e)
|
|
||||||
{
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -130,8 +113,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||||||
/**
|
/**
|
||||||
* 获取服务器启动时间
|
* 获取服务器启动时间
|
||||||
*/
|
*/
|
||||||
public static Date getServerStartDate()
|
public static Date getServerStartDate() {
|
||||||
{
|
|
||||||
long time = ManagementFactory.getRuntimeMXBean().getStartTime();
|
long time = ManagementFactory.getRuntimeMXBean().getStartTime();
|
||||||
return new Date(time);
|
return new Date(time);
|
||||||
}
|
}
|
||||||
@ -139,8 +121,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||||||
/**
|
/**
|
||||||
* 计算相差天数
|
* 计算相差天数
|
||||||
*/
|
*/
|
||||||
public static int differentDaysByMillisecond(Date date1, Date date2)
|
public static int differentDaysByMillisecond(Date date1, Date date2) {
|
||||||
{
|
|
||||||
return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
|
return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,8 +132,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||||||
* @param startTime 开始时间
|
* @param startTime 开始时间
|
||||||
* @return 时间差(天/小时/分钟)
|
* @return 时间差(天/小时/分钟)
|
||||||
*/
|
*/
|
||||||
public static String timeDistance(Date endDate, Date startTime)
|
public static String timeDistance(Date endDate, Date startTime) {
|
||||||
{
|
|
||||||
long nd = 1000 * 24 * 60 * 60;
|
long nd = 1000 * 24 * 60 * 60;
|
||||||
long nh = 1000 * 60 * 60;
|
long nh = 1000 * 60 * 60;
|
||||||
long nm = 1000 * 60;
|
long nm = 1000 * 60;
|
||||||
@ -173,8 +153,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||||||
/**
|
/**
|
||||||
* 增加 LocalDateTime ==> Date
|
* 增加 LocalDateTime ==> Date
|
||||||
*/
|
*/
|
||||||
public static Date toDate(LocalDateTime temporalAccessor)
|
public static Date toDate(LocalDateTime temporalAccessor) {
|
||||||
{
|
|
||||||
ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault());
|
ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault());
|
||||||
return Date.from(zdt.toInstant());
|
return Date.from(zdt.toInstant());
|
||||||
}
|
}
|
||||||
@ -182,10 +161,14 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
|||||||
/**
|
/**
|
||||||
* 增加 LocalDate ==> Date
|
* 增加 LocalDate ==> Date
|
||||||
*/
|
*/
|
||||||
public static Date toDate(LocalDate temporalAccessor)
|
public static Date toDate(LocalDate temporalAccessor) {
|
||||||
{
|
|
||||||
LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0));
|
LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0));
|
||||||
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
|
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
|
||||||
return Date.from(zdt.toInstant());
|
return Date.from(zdt.toInstant());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @deprecated */
|
||||||
|
@Deprecated
|
||||||
|
public DateUtils() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,8 +17,8 @@ import com.ruoyi.common.core.text.StrFormatter;
|
|||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
*/
|
*/
|
||||||
public class StringUtils extends org.apache.commons.lang3.StringUtils
|
public class StringUtils extends org.apache.commons.lang3.StringUtils {
|
||||||
{
|
|
||||||
/** 空字符串 */
|
/** 空字符串 */
|
||||||
private static final String NULLSTR = "";
|
private static final String NULLSTR = "";
|
||||||
|
|
||||||
@ -34,8 +34,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param value defaultValue 要判断的value
|
* @param value defaultValue 要判断的value
|
||||||
* @return value 返回值
|
* @return value 返回值
|
||||||
*/
|
*/
|
||||||
public static <T> T nvl(T value, T defaultValue)
|
public static <T> T nvl(T value, T defaultValue) {
|
||||||
{
|
|
||||||
return value != null ? value : defaultValue;
|
return value != null ? value : defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,8 +44,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param coll 要判断的Collection
|
* @param coll 要判断的Collection
|
||||||
* @return true:为空 false:非空
|
* @return true:为空 false:非空
|
||||||
*/
|
*/
|
||||||
public static boolean isEmpty(Collection<?> coll)
|
public static boolean isEmpty(Collection<?> coll) {
|
||||||
{
|
|
||||||
return isNull(coll) || coll.isEmpty();
|
return isNull(coll) || coll.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,8 +54,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param coll 要判断的Collection
|
* @param coll 要判断的Collection
|
||||||
* @return true:非空 false:空
|
* @return true:非空 false:空
|
||||||
*/
|
*/
|
||||||
public static boolean isNotEmpty(Collection<?> coll)
|
public static boolean isNotEmpty(Collection<?> coll) {
|
||||||
{
|
|
||||||
return !isEmpty(coll);
|
return !isEmpty(coll);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,8 +64,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param objects 要判断的对象数组
|
* @param objects 要判断的对象数组
|
||||||
** @return true:为空 false:非空
|
** @return true:为空 false:非空
|
||||||
*/
|
*/
|
||||||
public static boolean isEmpty(Object[] objects)
|
public static boolean isEmpty(Object[] objects) {
|
||||||
{
|
|
||||||
return isNull(objects) || (objects.length == 0);
|
return isNull(objects) || (objects.length == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,8 +74,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param objects 要判断的对象数组
|
* @param objects 要判断的对象数组
|
||||||
* @return true:非空 false:空
|
* @return true:非空 false:空
|
||||||
*/
|
*/
|
||||||
public static boolean isNotEmpty(Object[] objects)
|
public static boolean isNotEmpty(Object[] objects) {
|
||||||
{
|
|
||||||
return !isEmpty(objects);
|
return !isEmpty(objects);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,8 +84,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param map 要判断的Map
|
* @param map 要判断的Map
|
||||||
* @return true:为空 false:非空
|
* @return true:为空 false:非空
|
||||||
*/
|
*/
|
||||||
public static boolean isEmpty(Map<?, ?> map)
|
public static boolean isEmpty(Map<?, ?> map) {
|
||||||
{
|
|
||||||
return isNull(map) || map.isEmpty();
|
return isNull(map) || map.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,8 +94,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param map 要判断的Map
|
* @param map 要判断的Map
|
||||||
* @return true:非空 false:空
|
* @return true:非空 false:空
|
||||||
*/
|
*/
|
||||||
public static boolean isNotEmpty(Map<?, ?> map)
|
public static boolean isNotEmpty(Map<?, ?> map) {
|
||||||
{
|
|
||||||
return !isEmpty(map);
|
return !isEmpty(map);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,8 +104,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param str String
|
* @param str String
|
||||||
* @return true:为空 false:非空
|
* @return true:为空 false:非空
|
||||||
*/
|
*/
|
||||||
public static boolean isEmpty(String str)
|
public static boolean isEmpty(String str) {
|
||||||
{
|
|
||||||
return isNull(str) || NULLSTR.equals(str.trim());
|
return isNull(str) || NULLSTR.equals(str.trim());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,8 +114,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param str String
|
* @param str String
|
||||||
* @return true:非空串 false:空串
|
* @return true:非空串 false:空串
|
||||||
*/
|
*/
|
||||||
public static boolean isNotEmpty(String str)
|
public static boolean isNotEmpty(String str) {
|
||||||
{
|
|
||||||
return !isEmpty(str);
|
return !isEmpty(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,8 +124,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param object Object
|
* @param object Object
|
||||||
* @return true:为空 false:非空
|
* @return true:为空 false:非空
|
||||||
*/
|
*/
|
||||||
public static boolean isNull(Object object)
|
public static boolean isNull(Object object) {
|
||||||
{
|
|
||||||
return object == null;
|
return object == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,8 +134,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param object Object
|
* @param object Object
|
||||||
* @return true:非空 false:空
|
* @return true:非空 false:空
|
||||||
*/
|
*/
|
||||||
public static boolean isNotNull(Object object)
|
public static boolean isNotNull(Object object) {
|
||||||
{
|
|
||||||
return !isNull(object);
|
return !isNull(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,16 +144,14 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param object 对象
|
* @param object 对象
|
||||||
* @return true:是数组 false:不是数组
|
* @return true:是数组 false:不是数组
|
||||||
*/
|
*/
|
||||||
public static boolean isArray(Object object)
|
public static boolean isArray(Object object) {
|
||||||
{
|
|
||||||
return isNotNull(object) && object.getClass().isArray();
|
return isNotNull(object) && object.getClass().isArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 去空格
|
* 去空格
|
||||||
*/
|
*/
|
||||||
public static String trim(String str)
|
public static String trim(String str) {
|
||||||
{
|
|
||||||
return (str == null ? "" : str.trim());
|
return (str == null ? "" : str.trim());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -176,35 +163,26 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param endExclude 结束位置(不包含)
|
* @param endExclude 结束位置(不包含)
|
||||||
* @return 替换后的字符串
|
* @return 替换后的字符串
|
||||||
*/
|
*/
|
||||||
public static String hide(CharSequence str, int startInclude, int endExclude)
|
public static String hide(CharSequence str, int startInclude, int endExclude) {
|
||||||
{
|
if (isEmpty(str)) {
|
||||||
if (isEmpty(str))
|
|
||||||
{
|
|
||||||
return NULLSTR;
|
return NULLSTR;
|
||||||
}
|
}
|
||||||
final int strLength = str.length();
|
final int strLength = str.length();
|
||||||
if (startInclude > strLength)
|
if (startInclude > strLength) {
|
||||||
{
|
|
||||||
return NULLSTR;
|
return NULLSTR;
|
||||||
}
|
}
|
||||||
if (endExclude > strLength)
|
if (endExclude > strLength) {
|
||||||
{
|
|
||||||
endExclude = strLength;
|
endExclude = strLength;
|
||||||
}
|
}
|
||||||
if (startInclude > endExclude)
|
if (startInclude > endExclude) {
|
||||||
{
|
|
||||||
// 如果起始位置大于结束位置,不替换
|
// 如果起始位置大于结束位置,不替换
|
||||||
return NULLSTR;
|
return NULLSTR;
|
||||||
}
|
}
|
||||||
final char[] chars = new char[strLength];
|
final char[] chars = new char[strLength];
|
||||||
for (int i = 0; i < strLength; i++)
|
for (int i = 0; i < strLength; i++) {
|
||||||
{
|
if (i >= startInclude && i < endExclude) {
|
||||||
if (i >= startInclude && i < endExclude)
|
|
||||||
{
|
|
||||||
chars[i] = ASTERISK;
|
chars[i] = ASTERISK;
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
chars[i] = str.charAt(i);
|
chars[i] = str.charAt(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -218,24 +196,19 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param start 开始
|
* @param start 开始
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public static String substring(final String str, int start)
|
public static String substring(final String str, int start) {
|
||||||
{
|
if (str == null) {
|
||||||
if (str == null)
|
|
||||||
{
|
|
||||||
return NULLSTR;
|
return NULLSTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (start < 0)
|
if (start < 0) {
|
||||||
{
|
|
||||||
start = str.length() + start;
|
start = str.length() + start;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (start < 0)
|
if (start < 0) {
|
||||||
{
|
|
||||||
start = 0;
|
start = 0;
|
||||||
}
|
}
|
||||||
if (start > str.length())
|
if (start > str.length()) {
|
||||||
{
|
|
||||||
return NULLSTR;
|
return NULLSTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,38 +223,30 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param end 结束
|
* @param end 结束
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public static String substring(final String str, int start, int end)
|
public static String substring(final String str, int start, int end) {
|
||||||
{
|
if (str == null) {
|
||||||
if (str == null)
|
|
||||||
{
|
|
||||||
return NULLSTR;
|
return NULLSTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (end < 0)
|
if (end < 0) {
|
||||||
{
|
|
||||||
end = str.length() + end;
|
end = str.length() + end;
|
||||||
}
|
}
|
||||||
if (start < 0)
|
if (start < 0) {
|
||||||
{
|
|
||||||
start = str.length() + start;
|
start = str.length() + start;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (end > str.length())
|
if (end > str.length()) {
|
||||||
{
|
|
||||||
end = str.length();
|
end = str.length();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (start > end)
|
if (start > end) {
|
||||||
{
|
|
||||||
return NULLSTR;
|
return NULLSTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (start < 0)
|
if (start < 0) {
|
||||||
{
|
|
||||||
start = 0;
|
start = 0;
|
||||||
}
|
}
|
||||||
if (end < 0)
|
if (end < 0) {
|
||||||
{
|
|
||||||
end = 0;
|
end = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -294,18 +259,14 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param str 要判断的value
|
* @param str 要判断的value
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public static boolean hasText(String str)
|
public static boolean hasText(String str) {
|
||||||
{
|
|
||||||
return (str != null && !str.isEmpty() && containsText(str));
|
return (str != null && !str.isEmpty() && containsText(str));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean containsText(CharSequence str)
|
private static boolean containsText(CharSequence str) {
|
||||||
{
|
|
||||||
int strLen = str.length();
|
int strLen = str.length();
|
||||||
for (int i = 0; i < strLen; i++)
|
for (int i = 0; i < strLen; i++) {
|
||||||
{
|
if (!Character.isWhitespace(str.charAt(i))) {
|
||||||
if (!Character.isWhitespace(str.charAt(i)))
|
|
||||||
{
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -325,10 +286,8 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param params 参数值
|
* @param params 参数值
|
||||||
* @return 格式化后的文本
|
* @return 格式化后的文本
|
||||||
*/
|
*/
|
||||||
public static String format(String template, Object... params)
|
public static String format(String template, Object... params) {
|
||||||
{
|
if (isEmpty(params) || isEmpty(template)) {
|
||||||
if (isEmpty(params) || isEmpty(template))
|
|
||||||
{
|
|
||||||
return template;
|
return template;
|
||||||
}
|
}
|
||||||
return StrFormatter.format(template, params);
|
return StrFormatter.format(template, params);
|
||||||
@ -340,8 +299,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param link 链接
|
* @param link 链接
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public static boolean ishttp(String link)
|
public static boolean ishttp(String link) {
|
||||||
{
|
|
||||||
return StringUtils.startsWithAny(link, Constants.HTTP, Constants.HTTPS);
|
return StringUtils.startsWithAny(link, Constants.HTTP, Constants.HTTPS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -352,8 +310,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param sep 分隔符
|
* @param sep 分隔符
|
||||||
* @return set集合
|
* @return set集合
|
||||||
*/
|
*/
|
||||||
public static final Set<String> str2Set(String str, String sep)
|
public static final Set<String> str2Set(String str, String sep) {
|
||||||
{
|
|
||||||
return new HashSet<String>(str2List(str, sep, true, false));
|
return new HashSet<String>(str2List(str, sep, true, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -366,28 +323,22 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param trim 去掉首尾空白
|
* @param trim 去掉首尾空白
|
||||||
* @return list集合
|
* @return list集合
|
||||||
*/
|
*/
|
||||||
public static final List<String> str2List(String str, String sep, boolean filterBlank, boolean trim)
|
public static final List<String> str2List(String str, String sep, boolean filterBlank, boolean trim) {
|
||||||
{
|
|
||||||
List<String> list = new ArrayList<String>();
|
List<String> list = new ArrayList<String>();
|
||||||
if (StringUtils.isEmpty(str))
|
if (StringUtils.isEmpty(str)) {
|
||||||
{
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 过滤空白字符串
|
// 过滤空白字符串
|
||||||
if (filterBlank && StringUtils.isBlank(str))
|
if (filterBlank && StringUtils.isBlank(str)) {
|
||||||
{
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
String[] split = str.split(sep);
|
String[] split = str.split(sep);
|
||||||
for (String string : split)
|
for (String string : split) {
|
||||||
{
|
if (filterBlank && StringUtils.isBlank(string)) {
|
||||||
if (filterBlank && StringUtils.isBlank(string))
|
|
||||||
{
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (trim)
|
if (trim) {
|
||||||
{
|
|
||||||
string = string.trim();
|
string = string.trim();
|
||||||
}
|
}
|
||||||
list.add(string);
|
list.add(string);
|
||||||
@ -403,18 +354,12 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param array 给定的数组
|
* @param array 给定的数组
|
||||||
* @return boolean 结果
|
* @return boolean 结果
|
||||||
*/
|
*/
|
||||||
public static boolean containsAny(Collection<String> collection, String... array)
|
public static boolean containsAny(Collection<String> collection, String... array) {
|
||||||
{
|
if (isEmpty(collection) || isEmpty(array)) {
|
||||||
if (isEmpty(collection) || isEmpty(array))
|
|
||||||
{
|
|
||||||
return false;
|
return false;
|
||||||
}
|
} else {
|
||||||
else
|
for (String str : array) {
|
||||||
{
|
if (collection.contains(str)) {
|
||||||
for (String str : array)
|
|
||||||
{
|
|
||||||
if (collection.contains(str))
|
|
||||||
{
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -429,16 +374,12 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param searchCharSequences 需要检查的字符串数组
|
* @param searchCharSequences 需要检查的字符串数组
|
||||||
* @return 是否包含任意一个字符串
|
* @return 是否包含任意一个字符串
|
||||||
*/
|
*/
|
||||||
public static boolean containsAnyIgnoreCase(CharSequence cs, CharSequence... searchCharSequences)
|
public static boolean containsAnyIgnoreCase(CharSequence cs, CharSequence... searchCharSequences) {
|
||||||
{
|
if (isEmpty(cs) || isEmpty(searchCharSequences)) {
|
||||||
if (isEmpty(cs) || isEmpty(searchCharSequences))
|
|
||||||
{
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
for (CharSequence testStr : searchCharSequences)
|
for (CharSequence testStr : searchCharSequences) {
|
||||||
{
|
if (containsIgnoreCase(cs, testStr)) {
|
||||||
if (containsIgnoreCase(cs, testStr))
|
|
||||||
{
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -448,10 +389,8 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
/**
|
/**
|
||||||
* 驼峰转下划线命名
|
* 驼峰转下划线命名
|
||||||
*/
|
*/
|
||||||
public static String toUnderScoreCase(String str)
|
public static String toUnderScoreCase(String str) {
|
||||||
{
|
if (str == null) {
|
||||||
if (str == null)
|
|
||||||
{
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
@ -461,31 +400,23 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
boolean curreCharIsUpperCase = true;
|
boolean curreCharIsUpperCase = true;
|
||||||
// 下一字符是否大写
|
// 下一字符是否大写
|
||||||
boolean nexteCharIsUpperCase = true;
|
boolean nexteCharIsUpperCase = true;
|
||||||
for (int i = 0; i < str.length(); i++)
|
for (int i = 0; i < str.length(); i++) {
|
||||||
{
|
|
||||||
char c = str.charAt(i);
|
char c = str.charAt(i);
|
||||||
if (i > 0)
|
if (i > 0) {
|
||||||
{
|
|
||||||
preCharIsUpperCase = Character.isUpperCase(str.charAt(i - 1));
|
preCharIsUpperCase = Character.isUpperCase(str.charAt(i - 1));
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
preCharIsUpperCase = false;
|
preCharIsUpperCase = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
curreCharIsUpperCase = Character.isUpperCase(c);
|
curreCharIsUpperCase = Character.isUpperCase(c);
|
||||||
|
|
||||||
if (i < (str.length() - 1))
|
if (i < (str.length() - 1)) {
|
||||||
{
|
|
||||||
nexteCharIsUpperCase = Character.isUpperCase(str.charAt(i + 1));
|
nexteCharIsUpperCase = Character.isUpperCase(str.charAt(i + 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase)
|
if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase) {
|
||||||
{
|
|
||||||
sb.append(SEPARATOR);
|
sb.append(SEPARATOR);
|
||||||
}
|
} else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase) {
|
||||||
else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase)
|
|
||||||
{
|
|
||||||
sb.append(SEPARATOR);
|
sb.append(SEPARATOR);
|
||||||
}
|
}
|
||||||
sb.append(Character.toLowerCase(c));
|
sb.append(Character.toLowerCase(c));
|
||||||
@ -501,14 +432,10 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param strs 字符串组
|
* @param strs 字符串组
|
||||||
* @return 包含返回true
|
* @return 包含返回true
|
||||||
*/
|
*/
|
||||||
public static boolean inStringIgnoreCase(String str, String... strs)
|
public static boolean inStringIgnoreCase(String str, String... strs) {
|
||||||
{
|
if (str != null && strs != null) {
|
||||||
if (str != null && strs != null)
|
for (String s : strs) {
|
||||||
{
|
if (str.equalsIgnoreCase(trim(s))) {
|
||||||
for (String s : strs)
|
|
||||||
{
|
|
||||||
if (str.equalsIgnoreCase(trim(s)))
|
|
||||||
{
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -517,32 +444,27 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld
|
* 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。
|
||||||
|
* 例如:HELLO_WORLD->HelloWorld
|
||||||
*
|
*
|
||||||
* @param name 转换前的下划线大写方式命名的字符串
|
* @param name 转换前的下划线大写方式命名的字符串
|
||||||
* @return 转换后的驼峰式命名的字符串
|
* @return 转换后的驼峰式命名的字符串
|
||||||
*/
|
*/
|
||||||
public static String convertToCamelCase(String name)
|
public static String convertToCamelCase(String name) {
|
||||||
{
|
|
||||||
StringBuilder result = new StringBuilder();
|
StringBuilder result = new StringBuilder();
|
||||||
// 快速检查
|
// 快速检查
|
||||||
if (name == null || name.isEmpty())
|
if (name == null || name.isEmpty()) {
|
||||||
{
|
|
||||||
// 没必要转换
|
// 没必要转换
|
||||||
return "";
|
return "";
|
||||||
}
|
} else if (!name.contains("_")) {
|
||||||
else if (!name.contains("_"))
|
|
||||||
{
|
|
||||||
// 不含下划线,仅将首字母大写
|
// 不含下划线,仅将首字母大写
|
||||||
return name.substring(0, 1).toUpperCase() + name.substring(1);
|
return name.substring(0, 1).toUpperCase() + name.substring(1);
|
||||||
}
|
}
|
||||||
// 用下划线将原始字符串分割
|
// 用下划线将原始字符串分割
|
||||||
String[] camels = name.split("_");
|
String[] camels = name.split("_");
|
||||||
for (String camel : camels)
|
for (String camel : camels) {
|
||||||
{
|
|
||||||
// 跳过原始字符串中开头、结尾的下换线或双重下划线
|
// 跳过原始字符串中开头、结尾的下换线或双重下划线
|
||||||
if (camel.isEmpty())
|
if (camel.isEmpty()) {
|
||||||
{
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// 首字母大写
|
// 首字母大写
|
||||||
@ -556,34 +478,25 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* 驼峰式命名法
|
* 驼峰式命名法
|
||||||
* 例如:user_name->userName
|
* 例如:user_name->userName
|
||||||
*/
|
*/
|
||||||
public static String toCamelCase(String s)
|
public static String toCamelCase(String s) {
|
||||||
{
|
if (s == null) {
|
||||||
if (s == null)
|
|
||||||
{
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (s.indexOf(SEPARATOR) == -1)
|
if (s.indexOf(SEPARATOR) == -1) {
|
||||||
{
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
s = s.toLowerCase();
|
s = s.toLowerCase();
|
||||||
StringBuilder sb = new StringBuilder(s.length());
|
StringBuilder sb = new StringBuilder(s.length());
|
||||||
boolean upperCase = false;
|
boolean upperCase = false;
|
||||||
for (int i = 0; i < s.length(); i++)
|
for (int i = 0; i < s.length(); i++) {
|
||||||
{
|
|
||||||
char c = s.charAt(i);
|
char c = s.charAt(i);
|
||||||
|
|
||||||
if (c == SEPARATOR)
|
if (c == SEPARATOR) {
|
||||||
{
|
|
||||||
upperCase = true;
|
upperCase = true;
|
||||||
}
|
} else if (upperCase) {
|
||||||
else if (upperCase)
|
|
||||||
{
|
|
||||||
sb.append(Character.toUpperCase(c));
|
sb.append(Character.toUpperCase(c));
|
||||||
upperCase = false;
|
upperCase = false;
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
sb.append(c);
|
sb.append(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -597,16 +510,12 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param strs 需要检查的字符串数组
|
* @param strs 需要检查的字符串数组
|
||||||
* @return 是否匹配
|
* @return 是否匹配
|
||||||
*/
|
*/
|
||||||
public static boolean matches(String str, List<String> strs)
|
public static boolean matches(String str, List<String> strs) {
|
||||||
{
|
if (isEmpty(str) || isEmpty(strs)) {
|
||||||
if (isEmpty(str) || isEmpty(strs))
|
|
||||||
{
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
for (String pattern : strs)
|
for (String pattern : strs) {
|
||||||
{
|
if (isMatch(pattern, str)) {
|
||||||
if (isMatch(pattern, str))
|
|
||||||
{
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -623,15 +532,13 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param url 需要匹配的url
|
* @param url 需要匹配的url
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static boolean isMatch(String pattern, String url)
|
public static boolean isMatch(String pattern, String url) {
|
||||||
{
|
|
||||||
AntPathMatcher matcher = new AntPathMatcher();
|
AntPathMatcher matcher = new AntPathMatcher();
|
||||||
return matcher.match(pattern, url);
|
return matcher.match(pattern, url);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public static <T> T cast(Object obj)
|
public static <T> T cast(Object obj) {
|
||||||
{
|
|
||||||
return (T) obj;
|
return (T) obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -642,8 +549,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param size 字符串指定长度
|
* @param size 字符串指定长度
|
||||||
* @return 返回数字的字符串格式,该字符串为指定长度。
|
* @return 返回数字的字符串格式,该字符串为指定长度。
|
||||||
*/
|
*/
|
||||||
public static final String padl(final Number num, final int size)
|
public static final String padl(final Number num, final int size) {
|
||||||
{
|
|
||||||
return padl(num.toString(), size, '0');
|
return padl(num.toString(), size, '0');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -655,32 +561,28 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|||||||
* @param c 用于补齐的字符
|
* @param c 用于补齐的字符
|
||||||
* @return 返回指定长度的字符串,由原字符串左补齐或截取得到。
|
* @return 返回指定长度的字符串,由原字符串左补齐或截取得到。
|
||||||
*/
|
*/
|
||||||
public static final String padl(final String s, final int size, final char c)
|
public static final String padl(final String s, final int size, final char c) {
|
||||||
{
|
|
||||||
final StringBuilder sb = new StringBuilder(size);
|
final StringBuilder sb = new StringBuilder(size);
|
||||||
if (s != null)
|
if (s != null) {
|
||||||
{
|
|
||||||
final int len = s.length();
|
final int len = s.length();
|
||||||
if (s.length() <= size)
|
if (s.length() <= size) {
|
||||||
{
|
for (int i = size - len; i > 0; i--) {
|
||||||
for (int i = size - len; i > 0; i--)
|
|
||||||
{
|
|
||||||
sb.append(c);
|
sb.append(c);
|
||||||
}
|
}
|
||||||
sb.append(s);
|
sb.append(s);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
return s.substring(len - size, len);
|
return s.substring(len - size, len);
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
for (int i = size; i > 0; i--) {
|
||||||
{
|
|
||||||
for (int i = size; i > 0; i--)
|
|
||||||
{
|
|
||||||
sb.append(c);
|
sb.append(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @deprecated */
|
||||||
|
@Deprecated
|
||||||
|
public StringUtils() {
|
||||||
|
}
|
||||||
}
|
}
|
@ -4,8 +4,6 @@ import java.util.Properties;
|
|||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@ -17,7 +15,6 @@ import com.ruoyi.framework.config.DynamicDataSourceProperties;
|
|||||||
@Component
|
@Component
|
||||||
public class DataSourceCreate implements CreateDataSource {
|
public class DataSourceCreate implements CreateDataSource {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(DataSourceCreate.class);
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DynamicDataSourceProperties properties;
|
private DynamicDataSourceProperties properties;
|
||||||
|
|
||||||
|
@ -10,10 +10,6 @@
|
|||||||
|
|
||||||
<artifactId>ruoyi-models</artifactId>
|
<artifactId>ruoyi-models</artifactId>
|
||||||
|
|
||||||
<properties>
|
|
||||||
<ruoyi.version>3.8.8.3.1</ruoyi.version>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
<description>
|
<description>
|
||||||
中间件
|
中间件
|
||||||
</description>
|
</description>
|
||||||
|
@ -6,8 +6,6 @@ import javax.sql.CommonDataSource;
|
|||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
import javax.sql.XADataSource;
|
import javax.sql.XADataSource;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.context.annotation.DependsOn;
|
import org.springframework.context.annotation.DependsOn;
|
||||||
@ -22,8 +20,6 @@ import com.ruoyi.common.service.datasource.AfterCreateDataSource;
|
|||||||
@DependsOn({ "transactionManager" })
|
@DependsOn({ "transactionManager" })
|
||||||
public class AtomikosDataSourceCreate implements AfterCreateDataSource {
|
public class AtomikosDataSourceCreate implements AfterCreateDataSource {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(AtomikosDataSourceCreate.class);
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AtomikosConfig atomikosConfig;
|
private AtomikosConfig atomikosConfig;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user