Spring常⽤⼀些⼯具类实例汇总
⼀、内置Resource类型
io.UrlResource
io.ClassPathResource:以类路径的⽅式进⾏访问
io.FileSystemResource:以⽂件系统绝对路径的⽅式进⾏访问
org.t.support.ServletContextResource:以相对于 Web 应⽤根⽬录的⽅式进⾏访问
io.InputStreamResource
io.ByteArrayResource
io.support.EncodedResource :就是Resource加上encoding, 可以认为是有编码的资源。当您使⽤ Resource 实现类加载⽂件资源时,它默认采⽤操作系统的编码格式。如果⽂件资源采⽤了特殊的编码格式(如UTF-8),则在读取资源内容时必须事先通过 EncodedResource 指定编码格式,否则将会产⽣中⽂乱码的问题。
io.VfsResource:在jboss⾥经常⽤到, 相应还有⼯具类 VfsUtils
org.springframework.util.ResourceUtils:它⽀持“classpath:”和“file:”的地址前缀,它能够从指定的地址加载⽂件资源,常⽤⽅法:getFile()
⼆、本地化⽂件资源
io.support.LocalizedResourceHelper:允许通过⽂件资源基名和本地化实体获取匹配的本地化⽂件资源并以 Resource 对象返回
三、操作 Servlet API 的⼯具类
org.t.support.WebApplicationContextUtils ⼯具类获取 WebApplicationContext 对象。WebApplicationContext wac = RequiredWebApplicationContext(ServletContext sc);
四、XML⼯具类
org.l.AbstractStaxContentHandler
org.l.AbstractStaxXMLReader
org.l.AbstractXMLReader
org.l.AbstractXMLStreamReader
org.l.DomUtils
org.l.SimpleNamespaceContext
org.l.SimpleSaxErrorHandler
org.l.SimpleTransformErrorListener
org.l.StaxUtils
org.l.TransformerUtils
五、web相关⼯具类
org.springframework.web.util.CookieGenerator
org.springframework.web.util.HtmlCharacterEntityDecoder
org.springframework.web.util.HtmlCharacterEntityReferences
org.springframework.web.util.HtmlUtils:HTML 特殊字符转义,常⽤⽅法 htmlEscape(),htmlUnescape()。
org.springframework.web.util.HttpUrlTemplate 这个类⽤于⽤字符串模板构建url, 它会⾃动处理url⾥的汉字及其它相关的编码. 在读取别⼈提供的url资源时, 应该经常⽤ String url = "localhost/myapp/{name}/{id}"
org.springframework.web.util.JavaScriptUtils:JavaScript 特殊字符转义,常⽤⽅法:javaScriptEscape()。
org.springframework.web.util.Log4jConfigListener ⽤listener的⽅式来配制log4j在web环境下的初始化
org.springframework.web.util.UriTemplate
org.springframework.web.util.UriUtils :处理uri⾥特殊字符的编码
org.springframework.web.util.WebUtils
getattribute方法返回类型
getCookie(HttpServletRequest request, String name) 获取 HttpServletRequest 中特定名字的 Cookie 对象。如果您需要创建 Cookie, Spring 也提供了⼀个⽅便的 CookieGenerator ⼯具类。
getSessionAttribute(HttpServletRequest request, String name) 获取 HttpSession 特定属性名的对象,否则您必须通过Attribute(name) 完成相同的操作。
getRequiredSessionAttribute(HttpServletRequest request, String name) 和上⼀个⽅法类似,只不过强制要求
HttpSession 中拥有指定的属性,否则抛出异常。
getSessionId(HttpServletRequest request) 获取 Session ID 的值。
void exposeRequestAttributes(ServletRequest request, Map attributes) 将 Map 元素添加到 ServletRequest 的属性列表中,当请求被导向(forward)到下⼀个处理程序时,这些请求属性就可以被访问到了。
六、参数检测⼯具类org.springframework.util.Assert
Assert断⾔⼯具类,通常⽤于数据合法性检查。
平时做判断通常都是这样写:
if (message== null || message.equls("")) {
throw new IllegalArgumentException("输⼊信息错误!");
}
⽤Assert⼯具类上⾯的代码可以简化为:
Assert.hasText((message, "输⼊信息错误!");
下⾯来介绍⼀下Assert 类中的常⽤断⾔⽅法:
Assert.isTrue(Object object, "object must be true") - 对象必须为true
Assert.hasLength(String text, "text must be specified") - 字符不为null且字符长度不为0
Assert.hasText(String text, "text must not be empty") - text 不为null且必须⾄少包含⼀个⾮空格的字符
Assert.isInstanceOf(Class clazz, Object obj, "clazz must be of type [clazz]") - obj必须能被正确造型成为clazz 指定的类七、请求⼯具类 org.springframework.web.bind.ServletRequestUtils
//取请求参数的整数值:
public static Integer getIntParameter(ServletRequest request, String name)
public static int getIntParameter(ServletRequest request, String name, int defaultVal) -->单个值
public static int[] getIntParameters(ServletRequest request, String name) -->数组
还有譬如long、float、double、boolean、String的相关处理⽅法。
⼋、其他⼯具类
org.springframework.util.FileCopyUtils:它提供了许多⼀步式的静态操作⽅法,能够将⽂件内容拷贝到⼀个⽬标
byte[]、String 甚⾄⼀个输出流或输出⽂件中。
io.support.PropertiesLoaderUtils:允许您直接通过基于类路径的⽂件地址加载属性资源。
hibernate5.support.OpenSessionInViewFilter:过滤器将 Hibernate Session 绑定到请求线程中,它将⾃动被 Spring 的事务管理器探测到。所以 OpenSessionInViewFilter 适⽤于 Service 层使⽤
HibernateTransactionManager 或 JtaTransactionManager 进⾏事务管理的环境,也可以⽤于⾮事务只读的数据操作中。
org.springframework.web.filter.CharacterEncodingFilter:当通过表单向服务器提交数据时,⼀个经典的问题就是中⽂乱码问题。虽然我们所有的 JSP ⽂件和页⾯编码格式都采⽤ UTF-8,但这个问题还是会出现。解决的办法很简单,我们只需要在 l 中配置⼀个 Spring 的编码转换过滤器就可以了。
org.springframework.web.filter.ServletContextRequestLoggingFilter:请求跟踪⽇志过滤器。在⽇志级别为 DEBUG 时才会起作⽤。
org.springframework.web.util.WebAppRootListener
org.springframework.web.IntrospectorCleanupListener:缓存清除
org.springframework.util.StringUtils:字符串⼯具类
CollectionUtils:集合⼯具类
org.springframework.util.SerializationUtils:对象序列化与反序列化
org.springframework.util.NumberUtils:处理数字的⼯具类, 有parseNumber 可以把字符串处理成我们指定的数字格式,还⽀持format格式, convertNumberToTargetClass 可以实现Number类型的转化。
org.springframework.util.FileSystemUtils:递归复制、删除⼀个⽬录。
org.springframework.util.DigestUtils:MD5加密
org.springframework.util.AntPathMatcher:风格的处理
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值不区分⼤⼩写的LinkedMap
org.springframework.util.LinkedMultiValueMap:⼀个key可以存放多个值的LinkedMap
org.springframework.util.ObjectUtils:有很多处理null object的⽅法. 如nullSafeHashCode, nullSafeEquals, isArray, containsElement, addObjectToArray, 等有⽤的⽅法
org.springframework.util.PatternMatchUtils:spring⾥⽤于处理简单的匹配。
org.springframework.util.PropertyPlaceholderHelper:⽤于处理占位符的替换。
org.springframework.util.ReflectionUtils:反射常⽤⼯具⽅法. 有 findField, setField, getField, findMethod, invokeMethod 等有⽤的⽅法。
org.springframework.util.StopWatch ⼀个很好的⽤于记录执⾏时间的⼯具类, 且可以⽤于任务分阶段的
测试时间. 最后⽀持⼀个很好看的打印格式. 这个类应该经常⽤。
org.springframework.util.SystemPropertyUtils
org.springframework.util.TypeUtils:⽤于类型相容的判断. isAssignable
org.springframework.util.WeakReferenceMonitor 弱引⽤的监控
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论