java cron表达式_Java 程序员都应该去使用一下这款强大的国产工具类库
大家好,我是你們的導(dǎo)師, 我會(huì)堅(jiān)持每天給大家整理一些干貨內(nèi)容(當(dāng)然周末也要允許老師休息一下哈)。
今天給大家分享一個(gè)很棒的Java工具類庫:Hutool。可能有很多朋友已經(jīng)知道這個(gè)類庫了,甚至在已經(jīng)在使用了,如果你還沒有使用過,那不妨去嘗試一下,我們項(xiàng)目組目前也在用這個(gè)。這篇文章來簡(jiǎn)單介紹一下這個(gè)類庫。
官網(wǎng)地址:https://www.hutool.cn/
Hutool是Hu + tool的自造詞,前者是作者致敬他的“前任公司”,后者為工具之意,諧音“糊涂”,寓意追求“萬事都作糊涂觀,無所謂失,無所謂得”的境界。看來寫這個(gè)類庫的作者(不止一個(gè))也是文藝青年啊。
Hutool是一個(gè)Java工具包,它可以幫助我們簡(jiǎn)化每一行代碼,減少每一個(gè)方法,讓Java語言也可以“甜甜的”。所以很多人稱之為:小甜甜。
我們使用該工具類,只需要引入它的依賴即可。
<dependency><groupId>cn.hutoolgroupId><artifactId>hutool-allartifactId><version>4.2.1version>dependency>可能很多國(guó)內(nèi)程序員都不喜歡看官方文檔,因?yàn)榛旧隙际怯⑽牡?#xff0c;其實(shí)我還是鼓勵(lì)大家去看英文文檔的。但這個(gè)工具類的參考文檔和API文檔全是中文的,中文的,中文的,可以說能滿足很大一部分開發(fā)人員的需求了。
先舉一個(gè)官方提供的例子,模擬一下表單提交,來一起感受一下 Hutool 的便捷。
public?class?Demo?{public?static?void?main(String[] args)?{? ? ? ?File file =?new?File("D:\\face.jpg");// 第一種方式:自定義構(gòu)建表單
? ? ? ?HttpRequest request = HttpRequest
? ? ? ? ? ? ? ?.post("http://ip:port/xxxx")
? ? ? ? ? ? ? ?.form("file", file)
? ? ? ? ? ? ? ?.form("fileType",?"jpg");
? ? ? ?HttpResponse response = request.execute();
? ? ? ?System.out.println(response.body());// 第二種方式:使用統(tǒng)一表單,Http模塊會(huì)自動(dòng)識(shí)別參數(shù)類型,并完成上傳
? ? ? ?HashMap paramMap =?new?HashMap<>();
? ? ? ?paramMap.put("author",?"倪升武");
? ? ? ?paramMap.put("wechat",?"程序員私房菜");
? ? ? ?String result = HttpUtil.post("http://ip:port/xxxx", paramMap);
? ? ? ?System.out.println(result);
? ?}
}
當(dāng)然,Hutool 還有其他很多工具,比如對(duì)文件、流、加密解密、轉(zhuǎn)碼、正則、線程、XML等JDK方法進(jìn)行封裝,組成各種Util工具類,同時(shí)也提供以下組件:
上文導(dǎo)入的依賴是?hutool-all,意味導(dǎo)入所有的模塊,當(dāng)然,我們也可以根據(jù)實(shí)際需要對(duì)上圖中的每個(gè)模塊進(jìn)行單獨(dú)的依賴導(dǎo)入。由于篇幅原因,我簡(jiǎn)單介紹其中兩個(gè)模塊,其他的模塊大家可以去看看官方文檔,去嘗試一下,還是有很多東西值得我們?nèi)W(xué)習(xí)的。
HtmlUtil(HTML工具類)
我是蠻喜歡這個(gè)工具類的,用的最多的就是 HtmlUtil.encode,可以將一些字符轉(zhuǎn)化為安全字符,防止xss注入和SQL注入,比如我之前做網(wǎng)站的時(shí)候就用到了這個(gè)來處理評(píng)論的提交。
comment.setContent(HtmlUtil.encode(content));它會(huì)轉(zhuǎn)義文本中的HTML字符為安全的字符,這樣比較安全。另外,HtmlUtil 還提供了以下方法,有興趣的朋友可以去試一下。
CronUtil(定時(shí)任務(wù))
我們使用 CronUtil 時(shí),只需要在?src/main/resources/config 下放入 cron.setting 文件(默認(rèn)是這個(gè)路徑的這個(gè)文件),然后在文件中放入定時(shí)規(guī)則,如:
[com.example.hutool.cron]TimerTest.runTask = */2?* * * * ?
這表示:每隔 2 秒鐘執(zhí)行一遍 com.example.hutool.cron 包下的 TimerTest 類中的 runTask 方法。這就很方便了,我在項(xiàng)目啟動(dòng)時(shí)就把定時(shí)器打開即可,假如你是 Spring Boot 工程,就可以這么做:
/*** 項(xiàng)目初始化配置
*?@author?shengwu ni
*?@date?2018-12-06
*/@Componentpublic?class?InitConfig?{private?static?final?Logger LOGGER = LoggerFactory.getLogger(InitConfig.class);@PostConstructpublic?void?initTimer()?{
? ? ? ?LOGGER.info("項(xiàng)目啟動(dòng),開啟Hutool定時(shí)任務(wù)……");
? ? ? ?CronUtil.setMatchSecond(true);
? ? ? ?CronUtil.start();
? ?}
}
這樣就會(huì)每隔 2 秒中去執(zhí)行一下目標(biāo)方法。代碼中的 setMatchSecond(true) 是設(shè)置支持秒級(jí)別定時(shí)任務(wù),這么做是為了兼容 Quartz 表達(dá)式,5位表達(dá)式、6位表達(dá)式都兼容。可以說是很棒了。
該類庫的其他工具類我就不一一介紹了,感興趣的讀者可以自己去官網(wǎng)看一下,我覺得最吸引人的還是非常全的中文文檔和API文檔,建議大家去閱讀一下,相信你也會(huì)喜歡上這個(gè)國(guó)產(chǎn)類庫。
我為什么推薦大家都去嘗試一下這個(gè)類庫呢?倒不是說推薦大家一定去使用,我們可以去體驗(yàn)一下該工具類是否真的可以簡(jiǎn)化我們的編碼。這個(gè)工具類庫一開始,其實(shí)就是項(xiàng)目中普通的 Util 工具類,慢慢豐富,最后衍生出一個(gè)類庫,里面的大部分源碼我相信大部分程序員都可以看得懂,也是一個(gè)很好的學(xué)習(xí)機(jī)會(huì)。
好了,今天老師就跟大家分享這么多。
總結(jié)
以上是生活随笔為你收集整理的java cron表达式_Java 程序员都应该去使用一下这款强大的国产工具类库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python链接hbase模块_HBas
- 下一篇: 用ram实现寄存器堆_纯C语言实现boo