SpringBoot中事半功倍的工具類(lèi)合集分享
在日常開(kāi)發(fā)中經(jīng)常有這樣那樣的小功能需要實(shí)現(xiàn),這些一般會(huì)作為工具類(lèi)存在,在項(xiàng)目中有一些通用的功能,Spring內(nèi)置了需要工具類(lèi),而且經(jīng)過(guò)了大量的驗(yàn)證,可以在開(kāi)發(fā)中助你一臂之力,代碼也比較穩(wěn)定,學(xué)習(xí)下這些工具類(lèi),讓你的工作如虎添翼
這是一篇?dú)w納的文章,直接上,因?yàn)楣ぞ哳?lèi)太多,也不好記憶,所以分幾個(gè)模塊,可以參考目錄關(guān)注自己想看的工具類(lèi)。
大部分的工具類(lèi)在Spring-core包下,可以在IDE中打開(kāi)這些類(lèi),更詳細(xì)的了解,這邊介紹一些常用的工具方法
1、簽名解碼
1.1 DigestUtils 加密算法工具類(lèi)
byte[] shas = MessageDigest.getInstance("MD5").digest("香菜".getBytes());
String encodekey = DigestUtils.md5DigestAsHex("md5".getBytes());System.out.println(encodekey);常見(jiàn)的對(duì)稱(chēng)加密算法:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES
常見(jiàn)的非對(duì)稱(chēng)加密算法:RSA、ECC(移動(dòng)設(shè)備用)、Diffie-Hellman、El Gamal、DSA(數(shù)字簽名用)
常見(jiàn)的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1
1.2 Base64Utils
用于Base64解碼和編碼,直接看提供了哪些方法,解碼使用decode,編碼使用encode

2、文件操作
2.1 FileCopyUtils FileSystemUtils
FileCopyUtils 提供了多個(gè)將文件內(nèi)容拷貝到各種目標(biāo)對(duì)象中的方法

FileSystemUtils 主要文件夾的操作,拷貝和刪除

2.2 StreamUtils 流的讀取,寫(xiě)入
StreamUtils是spring中用于處理流的類(lèi)

2.3 SerializationUtils 序列化
deserialize 反序列化serialize 序列化
3、數(shù)據(jù)轉(zhuǎn)換
3.1 NumberUtils 數(shù)字轉(zhuǎn)換之類(lèi)
這個(gè)類(lèi)看起來(lái)很明白了,方法名也很直白,基本是字符串轉(zhuǎn)換

3.2 ObjectUtils 判斷類(lèi)型
主要是對(duì)象的判空和比較
3.3 StringUtils 字符串
這個(gè)是最常用的字符串類(lèi)了,內(nèi)容很多,就不一一列舉了
3.4 PatternMatchUtils 正則表達(dá)式工具類(lèi)

3.5 CollectionUtils集合工具類(lèi)
這個(gè)集合類(lèi)看名字吧,都是一些集合方面的操作,map,list,Array
4、反射工具類(lèi)
4.1 ReflectionUtils 反射手術(shù)刀
這個(gè)類(lèi)主要用來(lái)做一些反射工作,比如方法的查找,調(diào)用方法,訪問(wèn)屬性等
下面調(diào)幾個(gè)典型的,這里面有很多的重載方法,根據(jù)自己的需求選用
// 在類(lèi)中查找指定方法 Method findMethod(Class<?> clazz, String name) // 提供方法參數(shù) Object invokeMethod(Method method, Object target, Object... args) //查找字段 Field findField(Class<?> clazz, String name, Class<?> type) // 獲取 target 對(duì)象的 field 屬性值 Object getField(Field field, Object target)
4.2 ClassUtils
這個(gè)主要用來(lái)獲取class的屬性
// 獲取對(duì)象的所有接口 Class<?>[] allInterfaces = ClassUtils.getAllInterfaces(new Player()); // 獲取某個(gè)類(lèi)的包名 String packageName = ClassUtils.getPackageName(Player.class); // 判斷某個(gè)類(lèi)是否內(nèi)部類(lèi) ClassUtils.isInnerClass(Player.class); // 判斷對(duì)象是否代理對(duì)象 ClassUtils.isCglibProxy(new Player());
4.3 TypeUtils
主要是類(lèi)型繼承的關(guān)系類(lèi),平常用的不多

4.4 AnnotatedElementUtils和 AnnotationUtils
看名字也知道是處理注解相關(guān)的,在開(kāi)發(fā)一些框架性的功能時(shí),自定義一個(gè)注解做一些功能,使用這個(gè)工具類(lèi)簡(jiǎn)直不要太輕松
這兩個(gè)類(lèi)的函數(shù)非常豐富,很多重載函數(shù)
4.5 BeanUtils
主要是bean的一些操作,這個(gè)是Spring-bean包下的

5、其他
5.1 ResourceUtils 資源訪問(wèn)
主要是資源訪問(wèn)的方法,它支持“classpath:”和“file:”的地址前綴,它能夠從指定的地址加載文件資源,主要有兩種,一種是獲取文件,一種是判斷

5.2 SystemPropertyUtils占位符解析工具類(lèi)
這個(gè)工具類(lèi)看名字是解析系統(tǒng)屬性的,主要原理是通過(guò)依賴(lài)PropertyPlaceholderHelper
SystemPropertyUtils.resolvePlaceholders("${os.name}/test")6、總結(jié)
這些工具類(lèi)的方法賊多,記不住,不過(guò)有所謂,只要在需要使用的時(shí)候去對(duì)應(yīng)的工具類(lèi)查找就行了
以上就是SpringBoot中事半功倍的工具類(lèi)合集分享的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot工具類(lèi)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java+opencv3.2.0實(shí)現(xiàn)輪廓檢測(cè)
這篇文章主要為大家詳細(xì)介紹了Java+opencv3.2.0實(shí)現(xiàn)輪廓檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
SpringBoot 如何實(shí)時(shí)刷新靜態(tài)文件
這篇文章主要介紹了SpringBoot如何實(shí)時(shí)刷新靜態(tài)文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
Java實(shí)現(xiàn)定時(shí)任務(wù)的示例代碼
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)定時(shí)任務(wù)的相關(guān)知識(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-11-11
淺談java switch如果case后面沒(méi)有break,會(huì)出現(xiàn)什么情況?
這篇文章主要介紹了淺談java switch如果case后面沒(méi)有break,會(huì)出現(xiàn)什么情況?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想小編過(guò)來(lái)看看吧2020-09-09
java 判斷一個(gè)數(shù)是否為2的整數(shù)次冪方法
今天小編就為大家分享一篇java 判斷一個(gè)數(shù)是否為2的整數(shù)次冪方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
SpringBoot敏感數(shù)據(jù)脫敏的處理方式
在Spring Boot中處理敏感數(shù)據(jù)脫敏,可以通過(guò)以下幾種方式實(shí)現(xiàn),確保敏感信息在接口返回、日志輸出、數(shù)據(jù)庫(kù)存儲(chǔ)等環(huán)節(jié)得到保護(hù),文中通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下2025-03-03
使用java實(shí)現(xiàn)日志工具類(lèi)分享
這篇文章主要介紹的Java代碼工具類(lèi)是用于書(shū)寫(xiě)日志信息到指定的文件,并且具有刪除之前日志文件的功能,需要的朋友可以參考下2014-03-03

