Java是最流行的開源語言之一。
有賴於Java的開源,涌現出一大批優秀的開源框架,基本涵蓋了開發中的方方面面,讓程序員可以專注於自己的業務邏輯。
今天,我們就來聊聊在開發中,經常被我們所忽略的【工具包】。
Apache Commons
StringUtils 絕對是力薦的工具類!String本身作為Java中最常使用的數據類型,有一個好的工具類,讓你在開發時猶如手握一把瑞士軍刀般得心應手。
介紹幾個StringUtils中的常用方法:
1. equals 比較兩個String是否相等,免去了頻繁判斷非null的麻煩
2. isEmpty 判斷String是否為null或者空字符串
3. join(array,separator) 以分隔符連接array中的變量
同時,在Apache Commons中還有諸如CollectionUtils、MapUtils、SetUtils、NumberUtils,DateUtils,FileUtils等常用數據類型的工具包。
Google Guava
我們在工作中經常使用Java的泛型,在引入Guava后,可以變得非常清爽!
相比於Apache Commons提供基礎的工具類,Guava提供了很多我們常用的數據結構。
我們經常在開發中要使用類似數據庫表的數據格式,Guava提供了Table格式。以及我們經常使用的Map<K,List<V>>的數據結構
Guava的Cache非常適合輕量級的緩存設計!
Apache Shiro
輕量級的權限框架,可以和spring MVC進行結合使用。
Shiro可以統一配置安全路徑
也可以通過代碼,驗證權限
JSOUP
Java解析Html的利器,目前很多的Java爬蟲都是利用JSOUP來解析網頁的。
Jackson
我們經常要轉換JavaBean與JSON,Jackson絕對是不二之選。相比於國產的Fastjson,學習曲線上有一些陡峭,但是一旦遇到一些復雜的需求,它絕對不會讓你失望。
Org Reflections
你經常需要搜索隱藏在Classpath下的一些文件? 你經常需要找到某一類Class? Reflections號稱運行時元數據分析,它的功能絕對讓你眼前一亮。
JOOQ
你是否頭痛於在Java中書寫SQL?對於處女座的你簡直如噩耗一般? 有了JOOQ,你的春天來了~
我們總是喜歡一些大而全的框架,例如Spring,hibernate等等,卻甚少關注“平庸”的工具包,很多人稱之為這是代碼的“細節”,是NB的程序員不需要關注的。
我卻恰恰認為,細節決定成敗。評比一個系統代碼的好壞,絕不是你用了Spring,而我用了老舊的Struts。而是基於這些工具包之上的一句句最細節的代碼,它更彰顯一個系統的品味,一個程序員的追求!