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

Spring常用一些工具類(lèi)實(shí)例匯總

 更新時(shí)間:2020年12月04日 11:18:36   作者:codedot  
這篇文章主要介紹了Spring常用一些工具類(lèi)實(shí)例匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、內(nèi)置Resource類(lèi)型

  • org.springframework.core.io.UrlResource
  • org.springframework.core.io.ClassPathResource:以類(lèi)路徑的方式進(jìn)行訪(fǎng)問(wèn)
  • org.springframework.core.io.FileSystemResource:以文件系統(tǒng)絕對(duì)路徑的方式進(jìn)行訪(fǎng)問(wèn)
  • org.springframework.web.context.support.ServletContextResource:以相對(duì)于 Web 應(yīng)用根目錄的方式進(jìn)行訪(fǎng)問(wèn)
  • org.springframework.core.io.InputStreamResource
  • org.springframework.core.io.ByteArrayResource
  • org.springframework.core.io.support.EncodedResource :就是Resource加上encoding, 可以認(rèn)為是有編碼的資源。當(dāng)您使用 Resource 實(shí)現(xiàn)類(lèi)加載文件資源時(shí),它默認(rèn)采用操作系統(tǒng)的編碼格式。如果文件資源采用了特殊的編碼格式(如 UTF-8),則在讀取資源內(nèi)容時(shí)必須事先通過(guò) EncodedResource 指定編碼格式,否則將會(huì)產(chǎn)生中文亂碼的問(wèn)題。
  • org.springframework.core.io.VfsResource:在jboss里經(jīng)常用到, 相應(yīng)還有 工具類(lèi) VfsUtils
  • org.springframework.util.ResourceUtils:它支持“classpath:”和“file:”的地址前綴,它能夠從指定的地址加載文件資源,常用方法:getFile()

二、本地化文件資源

org.springframework.core.io.support.LocalizedResourceHelper:允許通過(guò)文件資源基名和本地化實(shí)體獲取匹配的本地化文件資源并以 Resource 對(duì)象返回

三、操作 Servlet API 的工具類(lèi)

org.springframework.web.context.support.WebApplicationContextUtils 工具類(lèi)獲取 WebApplicationContext 對(duì)象。

WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc);

四、XML工具類(lèi)

  • org.springframework.util.xml.AbstractStaxContentHandler
  • org.springframework.util.xml.AbstractStaxXMLReader
  • org.springframework.util.xml.AbstractXMLReader
  • org.springframework.util.xml.AbstractXMLStreamReader
  • org.springframework.util.xml.DomUtils
  • org.springframework.util.xml.SimpleNamespaceContext
  • org.springframework.util.xml.SimpleSaxErrorHandler
  • org.springframework.util.xml.SimpleTransformErrorListener
  • org.springframework.util.xml.StaxUtils
  • org.springframework.util.xml.TransformerUtils

五、web相關(guān)工具類(lèi)

  • org.springframework.web.util.CookieGenerator
  • org.springframework.web.util.HtmlCharacterEntityDecoder
  • org.springframework.web.util.HtmlCharacterEntityReferences
  • org.springframework.web.util.HtmlUtils:HTML 特殊字符轉(zhuǎn)義,常用方法 htmlEscape(),htmlUnescape()。
  • org.springframework.web.util.HttpUrlTemplate 這個(gè)類(lèi)用于用字符串模板構(gòu)建url, 它會(huì)自動(dòng)處理url里的漢字及其它相關(guān)的編碼. 在讀取別人提供的url資源時(shí), 應(yīng)該經(jīng)常用 String url = "http://localhost/myapp/{name}/{id}"
  • org.springframework.web.util.JavaScriptUtils:JavaScript 特殊字符轉(zhuǎn)義,常用方法:javaScriptEscape()。
  • org.springframework.web.util.Log4jConfigListener 用listener的方式來(lái)配制log4j在web環(huán)境下的初始化
  • org.springframework.web.util.UriTemplate
  • org.springframework.web.util.UriUtils :處理uri里特殊字符的編碼
  • org.springframework.web.util.WebUtils
  • getCookie(HttpServletRequest request, String name) 獲取 HttpServletRequest 中特定名字的 Cookie 對(duì)象。如果您需要?jiǎng)?chuàng)建 Cookie, Spring 也提供了一個(gè)方便的 CookieGenerator 工具類(lèi)。
  • getSessionAttribute(HttpServletRequest request, String name) 獲取 HttpSession 特定屬性名的對(duì)象,否則您必須通過(guò) request.getHttpSession.getAttribute(name) 完成相同的操作。
  • getRequiredSessionAttribute(HttpServletRequest request, String name) 和上一個(gè)方法類(lèi)似,只不過(guò)強(qiáng)制要求 HttpSession 中擁有指定的屬性,否則拋出異常。
  • getSessionId(HttpServletRequest request) 獲取 Session ID 的值。
  • void exposeRequestAttributes(ServletRequest request, Map attributes) 將 Map 元素添加到 ServletRequest 的屬性列表中,當(dāng)請(qǐng)求被導(dǎo)向(forward)到下一個(gè)處理程序時(shí),這些請(qǐng)求屬性就可以被訪(fǎng)問(wèn)到了。

六、參數(shù)檢測(cè)工具類(lèi)org.springframework.util.Assert

Assert斷言工具類(lèi),通常用于數(shù)據(jù)合法性檢查。

平時(shí)做判斷通常都是這樣寫(xiě):

if (message== null || message.equls("")) {
throw new IllegalArgumentException("輸入信息錯(cuò)誤!");
}

用Assert工具類(lèi)上面的代碼可以簡(jiǎn)化為:

Assert.hasText((message, "輸入信息錯(cuò)誤!");
下面來(lái)介紹一下Assert 類(lèi)中的常用斷言方法:

  • Assert.notNull(Object object, "object is required") - 對(duì)象非空
  • Assert.isTrue(Object object, "object must be true") - 對(duì)象必須為true
  • Assert.notEmpty(Collection collection, "collection must not be empty") - 集合非空
  • Assert.hasLength(String text, "text must be specified") - 字符不為null且字符長(zhǎng)度不為0
  • Assert.hasText(String text, "text must not be empty") - text 不為null且必須至少包含一個(gè)非空格的字符
  • Assert.isInstanceOf(Class clazz, Object obj, "clazz must be of type [clazz]") - obj必須能被正確造型成為clazz 指定的類(lèi)

七、請(qǐng)求工具類(lèi) org.springframework.web.bind.ServletRequestUtils

//取請(qǐng)求參數(shù)的整數(shù)值:
public static Integer getIntParameter(ServletRequest request, String name)
public static int getIntParameter(ServletRequest request, String name, int defaultVal) -->單個(gè)值
public static int[] getIntParameters(ServletRequest request, String name) -->數(shù)組

還有譬如long、float、double、boolean、String的相關(guān)處理方法。

八、其他工具類(lèi)

  • org.springframework.util.FileCopyUtils:它提供了許多一步式的靜態(tài)操作方法,能夠?qū)⑽募?nèi)容拷貝到一個(gè)目標(biāo) byte[]、String 甚至一個(gè)輸出流或輸出文件中。
  • org.springframework.core.io.support.PropertiesLoaderUtils:允許您直接通過(guò)基于類(lèi)路徑的文件地址加載屬性資源。
  • oorg.springframework.orm.hibernate5.support.OpenSessionInViewFilter:過(guò)濾器將 Hibernate Session 綁定到請(qǐng)求線(xiàn)程中,它將自動(dòng)被 Spring 的事務(wù)管理器探測(cè)到。所以 OpenSessionInViewFilter 適用于 Service 層使用 HibernateTransactionManager 或 JtaTransactionManager 進(jìn)行事務(wù)管理的環(huán)境,也可以用于非事務(wù)只讀的數(shù)據(jù)操作中。
  • org.springframework.web.filter.CharacterEncodingFilter:當(dāng)通過(guò)表單向服務(wù)器提交數(shù)據(jù)時(shí),一個(gè)經(jīng)典的問(wèn)題就是中文亂碼問(wèn)題。雖然我們所有的 JSP 文件和頁(yè)面編碼格式都采用 UTF-8,但這個(gè)問(wèn)題還是會(huì)出現(xiàn)。解決的辦法很簡(jiǎn)單,我們只需要在 web.xml 中配置一個(gè) Spring 的編碼轉(zhuǎn)換過(guò)濾器就可以了。
  • org.springframework.web.filter.ServletContextRequestLoggingFilter:請(qǐng)求跟蹤日志過(guò)濾器。在日志級(jí)別為 DEBUG 時(shí)才會(huì)起作用。
  • org.springframework.web.util.WebAppRootListener
  • org.springframework.web.IntrospectorCleanupListener:緩存清除監(jiān)聽(tīng)器
  • org.springframework.util.StringUtils:字符串工具類(lèi)
  • CollectionUtils:集合工具類(lèi)
  • org.springframework.util.SerializationUtils:對(duì)象序列化與反序列化
  • org.springframework.util.NumberUtils:處理數(shù)字的工具類(lèi), 有parseNumber 可以把字符串處理成我們指定的數(shù)字格式, 還支持format格式, convertNumberToTargetClass 可以實(shí)現(xiàn)Number類(lèi)型的轉(zhuǎn)化。
  • org.springframework.util.FileSystemUtils:遞歸復(fù)制、刪除一個(gè)目錄。
  • org.springframework.util.DigestUtils:MD5加密
  • org.springframework.util.AntPathMatcher:風(fēng)格的處理
  • org.springframework.util.AntPathStringMatcher
  • org.springframework.util.ClassUtils:用于Class的處理
  • org.springframework.util.CommonsLogWriter
  • org.springframework.util.CompositeIterator
  • org.springframework.util.ConcurrencyThrottleSupport
  • org.springframework.util.CustomizableThreadCreator
  • org.springframework.util.DefaultPropertiesPersister
  • org.springframework.util.LinkedCaseInsensitiveMap:key值不區(qū)分大小寫(xiě)的LinkedMap
  • org.springframework.util.LinkedMultiValueMap:一個(gè)key可以存放多個(gè)值的LinkedMap
  • org.springframework.util.ObjectUtils:有很多處理null object的方法. 如nullSafeHashCode, nullSafeEquals, isArray, containsElement, addObjectToArray, 等有用的方法
  • org.springframework.util.PatternMatchUtils:spring里用于處理簡(jiǎn)單的匹配。
  • org.springframework.util.PropertyPlaceholderHelper:用于處理占位符的替換。
  • org.springframework.util.ReflectionUtils:反射常用工具方法. 有 findField, setField, getField, findMethod, invokeMethod等有用的方法。
  • org.springframework.util.StopWatch 一個(gè)很好的用于記錄執(zhí)行時(shí)間的工具類(lèi), 且可以用于任務(wù)分階段的測(cè)試時(shí)間. 最后支持一個(gè)很好看的打印格式. 這個(gè)類(lèi)應(yīng)該經(jīng)常用。
  • org.springframework.util.SystemPropertyUtils
  • org.springframework.util.TypeUtils:用于類(lèi)型相容的判斷. isAssignable
  • org.springframework.util.WeakReferenceMonitor 弱引用的監(jiān)控

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringMVC框架REST架構(gòu)體系原理分析

    SpringMVC框架REST架構(gòu)體系原理分析

    REST:Representational State Transfer,資源表現(xiàn)層狀態(tài)轉(zhuǎn)換,是目前⽐較主流的⼀種互聯(lián)網(wǎng)軟件架構(gòu),它結(jié)構(gòu)清晰、標(biāo)準(zhǔn)規(guī)范、易于理解、便于擴(kuò)展
    2021-09-09
  • Java實(shí)現(xiàn)的數(shù)組去重與排序操作詳解

    Java實(shí)現(xiàn)的數(shù)組去重與排序操作詳解

    這篇文章主要介紹了Java實(shí)現(xiàn)的數(shù)組去重與排序操作,結(jié)合實(shí)例形式分析了Java針對(duì)數(shù)組去重及排序操作相關(guān)遍歷、排序、判斷等使用技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • Java跳躍游戲?qū)嵗骖}解決思路詳解

    Java跳躍游戲?qū)嵗骖}解決思路詳解

    這篇文章主要介紹了Java跳躍游戲,總的來(lái)說(shuō)這并不是一道難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達(dá)的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過(guò)程。希望通過(guò)這道題能給你帶來(lái)一種解題優(yōu)化的思路
    2022-10-10
  • Spring中FactoryBean的高級(jí)用法實(shí)戰(zhàn)教程

    Spring中FactoryBean的高級(jí)用法實(shí)戰(zhàn)教程

    FactoryBean是Spring框架的高級(jí)特性,允許自定義對(duì)象的創(chuàng)建過(guò)程,適用于復(fù)雜初始化邏輯,本文給大家介紹Spring中FactoryBean的高級(jí)用法實(shí)戰(zhàn),感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Java實(shí)現(xiàn)貪吃蛇游戲(1小時(shí)學(xué)會(huì))

    Java實(shí)現(xiàn)貪吃蛇游戲(1小時(shí)學(xué)會(huì))

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)貪吃蛇游戲,1小時(shí)學(xué)會(huì)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 超詳細(xì)解釋Java反射

    超詳細(xì)解釋Java反射

    本文非常詳細(xì)的講解了java反射具體的內(nèi)容以及使用,java反射在現(xiàn)今的使用中很頻繁,希望此文可以幫大家解答疑惑,可以幫助大家理解
    2021-11-11
  • Spring?Boot?Shiro?auto-configure工作流程詳解

    Spring?Boot?Shiro?auto-configure工作流程詳解

    這篇文章主要為大家介紹了Spring?Boot?Shiro?auto-configure工作流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • springcloud整合到項(xiàng)目中無(wú)法啟動(dòng)報(bào)錯(cuò)Failed to start bean 'eurekaAutoServiceRegistration'

    springcloud整合到項(xiàng)目中無(wú)法啟動(dòng)報(bào)錯(cuò)Failed to start bean&n

    這篇文章主要介紹了springcloud整合到項(xiàng)目中無(wú)法啟動(dòng)報(bào)錯(cuò)Failed to start bean 'eurekaAutoServiceRegistration'問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 使用SpringBoot + Redis + Vue實(shí)現(xiàn)動(dòng)態(tài)路由加載頁(yè)面的示例代碼

    使用SpringBoot + Redis + Vue實(shí)現(xiàn)動(dòng)態(tài)路由加載頁(yè)面的示例代

    在現(xiàn)代 Web 應(yīng)用開(kāi)發(fā)中,動(dòng)態(tài)路由加載能夠顯著提升應(yīng)用的靈活性和安全性,本文將深入探討如何利用 Spring Boot、Redis、Element UI 和 Vue 技術(shù)棧實(shí)現(xiàn)動(dòng)態(tài)路由加載,并通過(guò) Redis 生成和驗(yàn)證有效鏈接以實(shí)現(xiàn)頁(yè)面訪(fǎng)問(wèn)控制,需要的朋友可以參考下
    2024-09-09
  • restTemplate超時(shí)處理的策略方案

    restTemplate超時(shí)處理的策略方案

    這篇文章主要為大家介紹了restTemplate超時(shí)處理的策略方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06

最新評(píng)論

五家渠市| 开化县| 滨海县| 太仓市| 台山市| 平乡县| 长乐市| 昌乐县| 长垣县| 资兴市| 绥宁县| 长岛县| 海盐县| 鸡西市| 交城县| 集贤县| 吉林省| 平远县| 淮北市| 龙川县| 阜宁县| 黄大仙区| 安庆市| 高平市| 盖州市| 石柱| 弥勒县| 弥渡县| 红安县| 清苑县| 平罗县| 团风县| 彭阳县| 东平县| 阜康市| 平南县| 昌黎县| 儋州市| 静海县| 丹凤县| 邢台市|