最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java日期操作方法工具類實(shí)例【包含日期比較大小,相加減,判斷,驗(yàn)證,獲取年份等】

 更新時間:2017年11月03日 08:59:28   作者:LovooGod  
這篇文章主要介紹了Java日期操作方法工具類,結(jié)合完整實(shí)例形式分析了java針對日期的各種常見操作,包括日期比較大小,相加減,判斷,驗(yàn)證,獲取年份、天數(shù)、星期等,需要的朋友可以參考下

本文實(shí)例講述了Java日期操作方法工具類。分享給大家供大家參考,具體如下:

package com.gcloud.common;
import org.apache.http.util.TextUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Pattern;
/**
 * 日期時間工具類
 * Created by charlin on 2017/9/3.
 */
public class DateUtil {
 public static final String CHINA_DATE_FORMAT = "yyyy年MM月dd日";
 public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
 public static final String DATE_FORMAT = "yyyy-MM-dd";
 public static final String TIME_FORMAT = "HH:mm:ss";
 //----------------判斷-----------------------------------------------
 /**
 * 是否是潤年
 * @param yearNum
 * @return
 */
 public static boolean isLeapYear(int yearNum) {
 boolean isLeep = false;
 if ((yearNum % 4 == 0) && (yearNum % 100 != 0))
  isLeep = true;
 else if (yearNum % 400 == 0)
  isLeep = true;
 else {
  isLeep = false;
 }
 return isLeep;
 }
 /**
 * 判斷是否是日期
 *
 * @param date
 * @return
 */
 public static boolean isDate(String date) {
 //判斷年月日的正則表達(dá)式,接受輸入格式為2010-12-24,可接受平年閏年的日期
 String regex = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)";
 Pattern pattern = Pattern.compile(regex);
 return pattern.matcher(date).matches();
 }
 /**
 * 驗(yàn)證是不是生日
 *
 * @param birthday
 * @return
 */
 public static boolean verifyBirthDay(String birthday) {
 if (TextUtils.isEmpty(birthday)) return false;
 if (!birthday.contains("-")) return false;
 String[] arr = birthday.split("-");
 if (null == arr || arr.length != 3 || arr[0].length() != 4 || arr[1].length() != 2 || arr[2].length() != 2)
  return false;
 int year = getYear(new Date());
 int birthYear = Integer.parseInt(arr[0]);
 if (birthYear <= 1900 || birthYear > year) return false;
 String curDate = formatDate(new Date(), DATE_FORMAT);
 if (birthday.compareTo(curDate) > 0) return false;
 return isDate(birthday);
 }
 //-------------------自動轉(zhuǎn)化--------------------------------------------
 /**
 * 把字符串自動轉(zhuǎn)化為時間格式
 *
 * @param dateStr
 * @return
 */
 public static Date parseDateByAuto(String dateStr) {
 if (StringUtil.isEmpty(dateStr)) {
  return null;
 }
 String format = DATE_FORMAT;
 if (dateStr.indexOf("/") > -1) {
  format = format.replace("-", "/");
 }
 if (dateStr.indexOf(":") != -1) {
  format += " HH:mm";
 }
 //存在秒
 if (dateStr.indexOf(":") != dateStr.lastIndexOf(":")) {
  format += ":ss";
 }
 return parseDate(dateStr, format);
 }
 /**
 * 自動識別格式
 * @param date
 * @return
 */
 public static String formatDateByAuto(Date date){
 String format = DATE_FORMAT;
 if( !(date instanceof java.sql.Date) && (date.getSeconds()>0||date.getMinutes()>0||date.getHours()>0)){
  format = DATETIME_FORMAT;
 }
 return formatDate(date, format);
 }
 //------------當(dāng)前日期與時間 --------------------------------
 /**取當(dāng)前日期*/
 public static Date getCurrDate() {return parseDate(formatDate(new Date())); }
 /**取當(dāng)前時間*/
 public static Date getCurrDateTime() {return parseDate(formatDate(new Date())); }
 /**取當(dāng)前日期*/
 public static String getCurrDateStr() { return formatDate(new Date()); }
 /**取當(dāng)前時間*/
 public static String getCurrDateTimeStr() { return formatDate(new Date(), DATETIME_FORMAT);}
 public static String formatCurrDate() {return formatDate(new Date(),DATE_FORMAT); }
 public static String formatCurrDateTime() {return formatDate(new Date(),DATETIME_FORMAT);}
 public static String formatCurrDateToS(String strFormat) {return formatDate(new Date(), strFormat); }
 //-----------時間計(jì)算--------------------------------------------
 /**
 * 時間相減
 * @param strDateBegin
 * @param strDateEnd
 * @param iType
 * @return
 */
 public static int getDiffDate(String strDateBegin, String strDateEnd, int iType) {
 Calendar calBegin = Calendar.getInstance();
 calBegin.setTime(parseDate(strDateBegin, DATETIME_FORMAT));
 Calendar calEnd = Calendar.getInstance();
 calBegin.setTime(parseDate(strDateEnd, DATETIME_FORMAT));
 long lBegin = calBegin.getTimeInMillis();
 long lEnd = calEnd.getTimeInMillis();
 if (iType == Calendar.SECOND)
  return (int) ((lEnd - lBegin) / 1000L);
 if (iType == Calendar.MINUTE)
  return (int) ((lEnd - lBegin) / 60000L);
 if (iType == Calendar.HOUR)
  return (int) ((lEnd - lBegin) / 3600000L);
 if (iType == Calendar.DAY_OF_MONTH) {
  return (int) ((lEnd - lBegin) / 86400000L);
 }
 return -1;
 }
 /**
 * 添加天數(shù)或月份或年得到新的時間
 *
 * @param strDate
 * @param count
 * @param dayType Calendar.YEAR
 * @return
 */
 public static String getAddDateTime(String strDate, int count, int dayType) {
 Calendar cal = Calendar.getInstance();
 cal.setTime(parseDate(strDate));
 cal.add(dayType, count);
 SimpleDateFormat sdf = null;
 if ((dayType == Calendar.YEAR) || (dayType == Calendar.MONTH) || (dayType == Calendar.DAY_OF_MONTH))
  sdf = new SimpleDateFormat(DATE_FORMAT);
 else
  sdf = new SimpleDateFormat(DATETIME_FORMAT);
 return sdf.format(cal.getTime());
 }
 /**
 * 日期增加天數(shù)
 * @param date
 * @param iCount
 * @return
 */
 public static Date getAddDate(Date date, int iCount) {
 Calendar cal = Calendar.getInstance();
 cal.setTime(date);
 cal.add(Calendar.DAY_OF_MONTH, iCount);
 return cal.getTime();
 }
 /**
 * 比較日期
 *
 * @param dateStr1
 * @param dateStr2
 * @return
 */
 public static int compareDate(String dateStr1, String dateStr2) {
 Date date1 = parseDate(dateStr1);
 Date date2 = parseDate(dateStr2);
 if (date1.getTime() > date2.getTime())
  return -1;
 else if (date1.getTime() < date2.getTime())
  return 1;
 else
  return 0;
 }
 public static int compareDate(Date date1, Date date2) {
 if (date1.getTime() > date2.getTime())
  return -1;
 else if (date1.getTime() < date2.getTime())
  return 1;
 else
  return 0;
 }
 /**
 * 時間差
 *
 * @param startDate
 * @param endDate
 * @return
 */
 public static int getDiffDays(Date startDate, Date endDate) {
 int days = 0;
 if (startDate.after(endDate)) {
  Date temp = startDate;
  startDate = endDate;
  endDate = temp;
 }
 days = (int) (endDate.getTime() - startDate.getTime()) / 1000 * 60 * 60 * 24;
 return days;
 }
 /**
 * 當(dāng)前日期的后幾天
 *
 * @param date
 * @param n
 * @return
 */
 public static Date getAfterDay(Date date, int n) {
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 c.add(Calendar.DATE, n);
 return c.getTime();
 }
 //---------獲取時間天數(shù)----------------------------------------------
 /**
 * 獲取當(dāng)前月的最后一天
 *
 * @param dateStr
 * @return
 */
 public static String getMonthEnd(String dateStr) {
 //當(dāng)前第一天
 Date date = parseDate(getMonthBegin(dateStr));
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 c.add(Calendar.MONTH, 1);
 c.add(Calendar.DAY_OF_YEAR, -1);
 return formatDate(c.getTime());
 }
 public static String getMonthEnd(Date date) {
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 c.set(Calendar.DATE, c.getActualMaximum(Calendar.DATE));
 return formatDate(c.getTime());
 }
 /**
 * 獲得當(dāng)前日期的月份第一天
 *
 * @param dateStr
 * @return
 */
 public static String getMonthBegin(String dateStr) {
 Date date = parseDate(dateStr);
 return formatDate(date, "yyyy-MM") + 01;
 }
 public static String getMonthBegin(Date date) {
 return formatDate(date, "yyyy-MM") + 01;
 }
 //--------------格式化日期-----------------------------------------
 /**
 * 格式化日期為字符串
 *
 * @param date
 * @param format
 * @return
 */
 public static String formatDate(Date date, String format) {
 return new SimpleDateFormat(format).format(date);
 }
 public static String formatDate(Date date) {
 return formatDate(date, DATE_FORMAT);
 }
 public static String formateChinaDate(Date date) {
 return formatDate(date, CHINA_DATE_FORMAT);
 }
 public static String formateDateTime(Date date) {
 return formatDate(date, DATETIME_FORMAT);
 }
 public static String formateTime(Date date) {
 return formatDate(date, TIME_FORMAT);
 }
 //-----------------格式化字符串為日期--------------------------------------
 /**
 * 格式化字符串為日期
 *
 * @param date
 * @param format
 * @return
 */
 public static Date parseDate(String date, String format) {
 try {
  return new SimpleDateFormat(format).parse(date);
 } catch (ParseException e) {
  e.printStackTrace();
 }
 return null;
 }
 public static Date parseDate(String date) { return parseDate(date, DATE_FORMAT);}
 public static Date parseChinaDate(String date) {
 return parseDate(date, CHINA_DATE_FORMAT);
 }
 public static Date parseDateTime(String date) {
 return parseDate(date, DATETIME_FORMAT);
 }
 public static Date parseTime(String date) {
 return parseDate(date, TIME_FORMAT);
 }
 //---獲取年月日時分秒----------------------------------------------------
 /**
 * 獲取年份
 *
 * @param date
 * @return
 */
 public static int getYear(Date date) {
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 return c.get(Calendar.YEAR);
 }
 /**
 * 獲取月份
 *
 * @param date
 * @return
 */
 public static int getMonth(Date date) {
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 return c.get(Calendar.MONTH) + 1;
 }
 /**
 * 獲取日
 *
 * @param date
 * @return
 */
 public static int getDay(Date date) {
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 return c.get(Calendar.DAY_OF_MONTH);
 }
 /**
 * 獲取星期
 *
 * @param date
 * @return
 */
 public static int getWeek(Date date) {
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 return c.get(Calendar.DAY_OF_WEEK);
 }
 /**
 * 獲取時間
 *
 * @param date
 * @return
 */
 public static int getHour(Date date) {
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 return c.get(Calendar.HOUR_OF_DAY);
 }
 /**
 * 獲取分種
 *
 * @param date
 * @return
 */
 public static int getMinute(Date date) {
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 return c.get(Calendar.MINUTE);
 }
 /**
 * 獲取秒
 *
 * @param date
 * @return
 */
 public static int getSecond(Date date) {
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 return c.get(Calendar.SECOND);
 }
 //--------------獲取星期幾---------------------------------------------------
 /**
 * 獲取星期幾
 *
 * @param strDate
 * @return
 */
 public static String getWeekDayName(String strDate) {
 String[] mName = {"日", "一", "二", "三", "四", "五", "六"};
 Date date = parseDate(strDate);
 int week = getWeek(date);
 return "星期" + mName[week];
 }
 public static String getWeekDayName(Date date) {
 String[] mName = {"日", "一", "二", "三", "四", "五", "六"};
 int week = getWeek(date);
 return "星期" + mName[week];
 }
 /**
 * 一年中的星期幾
 * @return
 */
 public static int getWeekNumOfYear(Date date) {
 Calendar calendar = Calendar.getInstance();
 calendar.setTime(date);
 return calendar.get(Calendar.WEEK_OF_YEAR);
 }
 public static int getWeekNumOfYear(String date) {
 Calendar calendar = Calendar.getInstance();
 calendar.setTime(parseDate(date, DATE_FORMAT));
 return calendar.get(Calendar.WEEK_OF_YEAR);
 }
 /**
 * 獲取本周星期一的日期
 * @param yearNum
 * @param weekNum
 * @return
 * @throws ParseException
 */
 public static String getYearWeekFirstDay(int yearNum, int weekNum) {
 Calendar cal = Calendar.getInstance();
 cal.set(Calendar.YEAR, yearNum);
 cal.set(Calendar.WEEK_OF_YEAR, weekNum);
 cal.set(Calendar.DAY_OF_WEEK, 2);
 String tempYear = Integer.toString(yearNum);
 String tempMonth = Integer.toString(cal.get(Calendar.MONTH) + 1);
 String tempDay = Integer.toString(cal.get(Calendar.DAY_OF_MONTH)-1);
 return tempYear + "-" + tempMonth + "-" + tempDay;
 }
 /**
 * 獲取本周星期天的日期
 * @param yearNum
 * @param weekNum
 * @return
 * @throws ParseException
 */
 public static String getYearWeekEndDay(int yearNum, int weekNum) {
 Calendar cal = Calendar.getInstance();
 cal.set(Calendar.YEAR, yearNum);
 cal.set(Calendar.WEEK_OF_YEAR, weekNum + 1);
 cal.set(Calendar.DAY_OF_WEEK, 1);
 String tempYear = Integer.toString(yearNum);
 String tempMonth = Integer.toString(cal.get(Calendar.MONTH) + 1);
 String tempDay = Integer.toString(cal.get(Calendar.DAY_OF_MONTH)-1);
 return tempYear + "-" + tempMonth + "-" + tempDay;
 }
 //--------------獲取天數(shù)---------------------------------------------------
 /**
 * 獲取某年某月的第一天
 * @param yearNum
 * @param monthNum
 * @return
 */
 public static Date getYearMonthFirstDay(int yearNum, int monthNum) {
 Calendar cal = Calendar.getInstance();
 cal.set(yearNum, monthNum - 1, 1, 0, 0, 0);
 cal.set(14, 0);
 return cal.getTime();
 }
 /**
 * 獲取某年下個月的第一天
 * @param yearNum
 * @param monthNum
 * @return
 */
 public static Date getNextYearMonthFirstDay(int yearNum, int monthNum) {
 Calendar cal = Calendar.getInstance();
 cal.set(yearNum, monthNum, 1, 0, 0, 0);
 cal.set(14, 0);
 return cal.getTime();
 }
 /**
 * 獲取某年某月的最后一天
 * @param yearNum
 * @param monthNum
 * @return
 */
 public static Date getYearMonthEndDay(int yearNum, int monthNum) {
 Calendar cal = Calendar.getInstance();
 cal.set(yearNum, monthNum, 0, 0, 0, 0);
 cal.set(14, 0);
 return cal.getTime();
 }
 /**
 * 獲取某月的第一天
 * @param date
 * @return
 */
 public static Date getYearMonthFirstDay(Date date) {
 Calendar cal = Calendar.getInstance();
 cal.setTime(date);
 cal.set(5, 1);
 cal.set(11, 0);
 cal.set(12, 0);
 cal.set(13, 0);
 cal.set(14, 0);
 return cal.getTime();
 }
 /**
 * 獲取下一年的第一天
 * @param date
 * @return
 */
 public static Date getNextYearMonthFirstDay(Date date) {
 Calendar cal = Calendar.getInstance();
 cal.setTime(date);
 cal.add(2, 1);
 cal.set(5, 1);
 cal.set(11, 0);
 cal.set(12, 0);
 cal.set(13, 0);
 cal.set(14, 0);
 return cal.getTime();
 }
 /**
 * 獲取當(dāng)前月的最后一天
 * @param date
 * @return
 */
 public static Date getYearMonthEndDay(Date date) {
 Calendar cal = Calendar.getInstance();
 cal.setTime(date);
 cal.set(5, cal.getActualMaximum(5));
 cal.set(11, 0);
 cal.set(12, 0);
 cal.set(13, 0);
 cal.set(14, 0);
 return cal.getTime();
 }
 /**
 * 獲取當(dāng)年的第一天
 * @param yearNum
 * @return
 */
 public static Date getYearFirstDay(int yearNum) {
 Calendar cal = Calendar.getInstance();
 cal.set(yearNum, 0, 1, 0, 0, 0);
 cal.set(14, 0);
 return cal.getTime();
 }
 /**
 * 獲取下一年的第一天
 * @param yearNum
 * @return
 */
 public static Date getNextYearFirstDay(int yearNum) {
 Calendar cal = Calendar.getInstance();
 cal.set(yearNum, 12, 1, 0, 0, 0);
 cal.set(14, 0);
 return cal.getTime();
 }
 /**
 * 獲取當(dāng)年的最后一天
 * @param yearNum
 * @return
 */
 public static Date getYearEndDay(int yearNum) {
 Calendar cal = Calendar.getInstance();
 cal.set(yearNum, 12, 0, 0, 0, 0);
 cal.set(14, 0);
 return cal.getTime();
 }
 /**
 * 獲取當(dāng)前星期
 * @param strDate
 * @param weekNum
 * @return
 */
 public static String getWeek(String strDate, int weekNum) {
 Calendar c = Calendar.getInstance();
 c.setTime(parseDate(strDate));
 if (weekNum == 1)
  c.set(7, 2);
 else if (weekNum == 2)
  c.set(7, 3);
 else if (weekNum == 3)
  c.set(7, 4);
 else if (weekNum == 4)
  c.set(7, 5);
 else if (weekNum == 5)
  c.set(7, 6);
 else if (weekNum == 6)
  c.set(7, 7);
 else if (weekNum == 0)
  c.set(7, 1);
 return formatDate(c.getTime());
 }
 public static Date getWeek(Date date, int weekNum) {
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 if (weekNum == 1)
  c.set(7, 2);
 else if (weekNum == 2)
  c.set(7, 3);
 else if (weekNum == 3)
  c.set(7, 4);
 else if (weekNum == 4)
  c.set(7, 5);
 else if (weekNum == 5)
  c.set(7, 6);
 else if (weekNum == 6)
  c.set(7, 7);
 else if (weekNum == 0)
  c.set(7, 1);
 return c.getTime();
 }
 /**
 * 下個月日期
 * @param date
 * @return
 */
 public static Date getNextMonday(Date date) {
 Calendar c = Calendar.getInstance();
 c.setTime(date);
 do
  c.add(Calendar.DAY_OF_MONTH, 1);
 while (c.get(Calendar.DAY_OF_WEEK) != 2);
 return c.getTime();
 }
 /**
 * 獲得某一日期的前一天
 *
 */
 public static Date getPreviousDate(Date date) {
 Calendar calendar = Calendar.getInstance();
 calendar.setTime(date);
 calendar.add(Calendar.DATE, -1);
 calendar.set(Calendar.HOUR, 0);
 calendar.set(Calendar.SECOND, 0);
 calendar.set(Calendar.MINUTE, 0);
 calendar.set(Calendar.MILLISECOND, 0);
 return getSqlDate(calendar.getTime());
 }
 /**
 * 獲得某年某月最后一天的日期
 *
 */
 public static Date getLastDayOfMonth(int year, int month) {
 Calendar calendar = Calendar.getInstance();
 calendar.set(Calendar.YEAR, year);
 calendar.set(Calendar.MONTH, month);
 calendar.set(Calendar.DATE, 1);
 return getPreviousDate(getSqlDate(calendar.getTime()));
 }
 /**
 * 獲取一個月的天數(shù)
 * @param year
 * @param month
 * @return
 */
 public static int getDaysInMonth(int year, int month) {
 Calendar cal = Calendar.getInstance();
 cal.set(Calendar.YEAR, year);
 cal.set(Calendar.MONTH, month - 1);// Java月份才0開始算
 return cal.getActualMaximum(Calendar.DATE);
 }
 //----------------根據(jù)用戶生日計(jì)算年齡-------------------------------------------------
 /**
 * 根據(jù)用戶生日計(jì)算年齡
 */
 public static int getAgeByBirthday(Date birthday) {
 Calendar cal = Calendar.getInstance();
 if (cal.before(birthday)) {
  throw new IllegalArgumentException("The birthDay is before Now.It's unbelievable!");
 }
 int yearNow = cal.get(Calendar.YEAR);
 int monthNow = cal.get(Calendar.MONTH) + 1;
 int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
 cal.setTime(birthday);
 int yearBirth = cal.get(Calendar.YEAR);
 int monthBirth = cal.get(Calendar.MONTH) + 1;
 int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
 int age = yearNow - yearBirth;
 if (monthNow <= monthBirth) {
  if (monthNow == monthBirth) {
  if (dayOfMonthNow < dayOfMonthBirth) {
   age--;
  }
  } else {
  age--;
  }
 }
 return age;
 }
 /**
 * 由java.util.Date到j(luò)ava.sql.Date的類型轉(zhuǎn)換
 *
 */
 public static Date getSqlDate(java.util.Date date) {
 return new Date(date.getTime());
 }
 public static void main(String[] args) {
 //dd
 System.out.println("腳本之家測試結(jié)果:");
 System.out.println("2017年 2月最后一天日期為:"+getLastDayOfMonth(2017, 2));
 System.out.println("2017年第一天日期為:"+getYearFirstDay(2017));
 System.out.println("2017年最后一天日期為:"+getYearEndDay(2017)); }
}

運(yùn)行結(jié)果:

PS:這里再為大家推薦幾款關(guān)于日期與時間計(jì)算的在線工具供大家參考使用:

在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在線萬年歷日歷:
http://tools.jb51.net/bianmin/wannianli

在線陰歷/陽歷轉(zhuǎn)換工具:
http://tools.jb51.net/bianmin/yinli2yangli

Unix時間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime

附:本例中用到了org.apache.http.util.TextUtils包,相關(guān)的jar包文件可點(diǎn)擊此處本站下載。

eclipse導(dǎo)入jar包的實(shí)現(xiàn)方法可參考本站http://m.fzitv.net/softjc/552873.html

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《java日期與時間操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • JDK8新特性-java.util.function-Function接口使用

    JDK8新特性-java.util.function-Function接口使用

    這篇文章主要介紹了JDK8新特性-java.util.function-Function接口使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • JAVA代碼設(shè)置selector不同狀態(tài)下的背景顏色

    JAVA代碼設(shè)置selector不同狀態(tài)下的背景顏色

    這篇文章主要介紹了JAVA代碼設(shè)置selector不同狀態(tài)下的背景顏色,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • java 最新Xss攻擊與防護(hù)(全方位360°詳解)

    java 最新Xss攻擊與防護(hù)(全方位360°詳解)

    這篇文章主要介紹了java 最新Xss攻擊與防護(hù)(全方位360°詳解),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 一文帶你搞定SpringBoot Log4j2日志配置文件

    一文帶你搞定SpringBoot Log4j2日志配置文件

    在項(xiàng)目推進(jìn)中,如果說第一件事是搭建 Spring 框架的話,那么第二件事情就是在 Sring 基礎(chǔ)上搭建日志框架,本文我們就來學(xué)習(xí)一下SpringBoot如何通過Log4j2配置日志吧
    2025-04-04
  • SpringBoot+MinIO實(shí)現(xiàn)對象存儲的示例詳解

    SpringBoot+MinIO實(shí)現(xiàn)對象存儲的示例詳解

    MinIO?是一個基于Apache?License?v2.0開源協(xié)議的對象存儲服務(wù),它是一個非常輕量的服務(wù),可以很簡單的和其他應(yīng)用的結(jié)合,所以下面我們就來看看SpringBoot如何整合MinIO實(shí)現(xiàn)對象存儲吧
    2023-10-10
  • Java線程的控制詳解

    Java線程的控制詳解

    這篇文章主要介紹了Java中的join線程、后臺線程、線程睡眠、線程讓步以及線程的優(yōu)先級,非常的詳細(xì),希望能對大家有所幫助
    2014-10-10
  • Spring整合多數(shù)據(jù)源實(shí)現(xiàn)動態(tài)切換的實(shí)例講解

    Spring整合多數(shù)據(jù)源實(shí)現(xiàn)動態(tài)切換的實(shí)例講解

    下面小編就為大家?guī)硪黄猄pring整合多數(shù)據(jù)源實(shí)現(xiàn)動態(tài)切換的實(shí)例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Mybatis Plus LambdaQueryWrapper的具體用法

    Mybatis Plus LambdaQueryWrapper的具體用法

    Mybatis Plus 在其基礎(chǔ)上擴(kuò)展了 LambdaQueryWrapper,LambdaQueryWrapper 提供了更加簡便的查詢語法,同時也避免了SQL注入的風(fēng)險,感興趣的可以了解一下
    2023-11-11
  • SpringBoot整合resilience4j實(shí)現(xiàn)接口限流

    SpringBoot整合resilience4j實(shí)現(xiàn)接口限流

    最近在開發(fā)項(xiàng)目的時候,需要用到限流的功能,本文主要介紹了SpringBoot整合resilience4j實(shí)現(xiàn)接口限流,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 解決spring AOP中自身方法調(diào)用無法應(yīng)用代理的問題

    解決spring AOP中自身方法調(diào)用無法應(yīng)用代理的問題

    這篇文章主要介紹了解決spring AOP中自身方法調(diào)用無法應(yīng)用代理的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評論

瑞安市| 普洱| 噶尔县| 新丰县| 澄城县| 女性| 长宁区| 金门县| 如东县| 鹿泉市| 班玛县| 安新县| 左贡县| 郴州市| 乳源| 邢台市| 三原县| 绍兴县| 大冶市| 朔州市| 永川市| 霍邱县| 德庆县| 铜川市| 建阳市| 会理县| 南平市| 九龙县| 古浪县| 虹口区| 海城市| 巴南区| 鄂温| 贡山| 铜陵市| 禄丰县| 冕宁县| 年辖:市辖区| 安陆市| 合山市| 彭州市|