`
friendsys
  • 浏览: 347914 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

spring 下的一些Utils

阅读更多
07年的文章,对Spring提供的工具类提供了介绍,可以安排时间看下相应的源码

Spring 为 HTML 和 JavaScript 特殊字符提供了转义操作工具类,它们分别是 HtmlUtils 和 JavaScriptUtils。
org.springframework.web.util.HtmlUtils 提供对HTML字符串中的符号进行过滤
JavaScriptUtils 对Js提供过滤
spring/lib/jakarta-commons/commons-lang.jar)的 StringEscapeUtils提供了更高级的功能,包括了对sql的过滤,防止被注入 , 似乎就是提供了字符串的""与''的转义

org.springframework.util.Assert; 下面提供一些对内容判断的方法,类似xUnit类,如果验证不通过,将直接抛出异常,主要允许定制异常信息

org.springframework.core.io.Resource 接口 ,为访问资源提供了统一的接口
Resource res2 = new ClassPathResource("conf/file1.txt");
Resource res1 = new FileSystemResource("d:/filePath");

在界面中,也可以通过
Resource res3 = new ServletContextResource(application, "/WEB-INF/classes/conf/file1.txt");

ResourceUtils 工具类,支持带classpath: file:的路径访问模式
File clsFile = ResourceUtils.getFile("classpath:conf/file1.txt");
String httpFilePath = "file:D:/masterSpring/chapter23/src/conf/file1.txt";
File httpFile = ResourceUtils.getFile(httpFilePath);

LocalizedResourceHelper  也可以用于提供对不同区域的资源文件自动加载
LocalizedResourceHelper lrHalper = new LocalizedResourceHelper();
        // ① 获取对应美国的本地化文件资源
        Resource msg_us = lrHalper.findLocalizedResource("i18n/message", ".properties",
        Locale.US);
        // ② 获取对应中国大陆的本地化文件资源
        Resource msg_cn = lrHalper.findLocalizedResource("i18n/message", ".properties",
        Locale.CHINA);
        System.out.println("fileName(us):"+msg_us.getFilename());
        System.out.println("fileName(cn):"+msg_cn.getFilename());

相对 java.util.ResourceBundle提供的获取资源文件的方式,spring提供了更加面向接口的工具类

FileCopyUtils 提供了许多一步式的静态操作方法,能够将文件内容拷贝到一个目标 byte[]、String 甚至一个输出流或输出文件中
byte[] fileData = FileCopyUtils.copyToByteArray(res.getFile());
String fileStr = FileCopyUtils.copyToString(new FileReader(res.getFile()));
FileCopyUtils.copy(res.getFile(), new File(res.getFile().getParent()+ "/file2.txt"));
主要便利就是提供了异常和io开关的处理
OutputStream os = new ByteArrayOutputStream();
FileCopyUtils.copy(res.getInputStream(), os);

PropertiesLoaderUtils 允许您直接通过基于类路径的文件地址加载属性资源
Properties props = PropertiesLoaderUtils.loadAllProperties("jdbc.properties") //节约了代码的调用
此外,PropertiesLoaderUtils 还可以直接从 Resource 对象中加载属性资源

这里注意编码的问题,需要对resource进行编码处理
Resource res = new ClassPathResource("conf/file1.txt");
// ① 指定文件资源对应的编码格式(UTF-8)
EncodedResource encRes = new EncodedResource(res,"UTF-8");

Spring 容器在启动时将 WebApplicationContext 保存在 ServletContext的属性列表中,通过 WebApplicationContextUtils 工具类可以方便地获取 WebApplicationContext 对象
WebApplicationContext wac = (WebApplicationContext)servletContext.
getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

但通过位于 org.springframework.web.context.support 包中的 WebApplicationContextUtils 工具类获取 WebApplicationContext 更方便:
WebApplicationContext wac =WebApplicationContextUtils.
getWebApplicationContext(servletContext);

WebUtils 提供了大量servlet api的调用,缩短了原有调用的代码量

IntrospectorCleanupListener 监听器 用于处理使用了 JavaBean Introspector 分析应用中的类,ntrospector 缓存会保留这些类的引用,从而导致的GC异常

ServletRequestUtils下也提供了对请求的参数获取的处理方式



























分享到:
评论

相关推荐

    javautils一些工具类

    在这个"javautils"压缩包中,我们可以预见到包含了一些自定义的Java工具类,可能涵盖了字符串处理、日期时间操作、集合操作等多个方面。 1. **字符串处理**: JavaUtils中的字符串工具类可能会包含一些扩展了Java...

    base64utils jar 包下载

    Base64Utils是一个Java库,通常用于在编程中进行Base64编码和解码。Base64是一种将二进制数据转换为可打印字符的方法,以便在不支持二进制数据的环境中(如电子邮件系统)传输。这个jar包是专门为Java开发者设计的,...

    HttpClientUtils.java

    httpclient工具类包含get,post,put,delete请求

    spring-core-3.2.18.RELEASE-sources.jar (spring 3.2.18源码source)

    spring-core-3.2.18.RELEASE-sources.jar (spring 3.2.18源码source),导入到Eclipse里面进行查看。

    redis utils 工具类

    在设计RedisUtils时,应考虑异常处理,确保在遇到网络问题、Redis服务器异常等情况下,能够正确地捕获和处理错误,防止程序崩溃。 9. **线程安全** 由于工具类可能被多个线程同时调用,因此RedisUtils应该设计为...

    Spring Utils工具类常用方法实例

    下面我们将介绍Spring Utils工具类中的一些常用方法实例。 判断对象是否为空或空字符串 判断对象对象是否为空或空字符串,可以使用`isEmpty`方法,该方法将判断对象是否为null或者为空字符串。如果对象为空或为空...

    springboot 集成封装redis工具类redisUtils和单元测试

    文章是redisUtils工具类的封装,和基于springboot环境的单元测试; 文中封装了redis的众多方法,希望对您有所帮助。

    RedisUtils.zip

    RedisUtils.zip是一个包含Java操作Redis的实用工具类的压缩包,主要由三个文件组成:RedisConfig.java、RedisUtil.java和SpringUtil.java。这些文件旨在简化Java应用与Redis数据库之间的交互,提高开发效率。 首先...

    spring-web-2.5.jar

    org.springframework.web.util.JavaScriptUtils.class org.springframework.web.util.Log4jConfigListener.class org.springframework.web.util.Log4jConfigServlet.class org.springframework.web.util.Log4...

    ExcelUtils按模板导出所需的JAR包

    在实际应用中,ExcelUtils可以与Spring框架集成,用于Web应用中的数据导出。开发者可以创建一个Controller方法,接收请求参数,然后调用ExcelUtils导出数据。这样,用户只需发起一个HTTP请求,就能下载到格式化的...

    spring-boot-utils:Spring Boot 1和Spring Boot 2兼容的utils

    Spring Boot 1和Spring Boot 2兼容的utils。 在cnetral信息库中最新版本: < groupId>io.github.hengyunabc < artifactId>spring-boot-utils $version 条件注释 @ ConditionalOnSpringBoot1 @ ...

    spring-hibernate-query-utils:库提供工具来检测N + 1查询并计算使用Spring和Hibernate生成的查询

    Spring Hibernate查询实用程序Spring应用程序中不再有N + 1个查询Spring Hibernate Query Utils:一种在Spring / Hibernate应用程序中检测N + 1查询并计算查询次数的简便方法·目录用夹具测试检测配置使能够错误等级...

    可能是方法最全Redis静态工具类(RedisUtils.java)

    可能是最全的Redis静态工具类,拿来即用,随时随地RedisUtils.方法名()存取数据,每个方法都有对应的注释,快速上手!

    RedisUtils.java

    基于spring和redis的redisTemplate工具类,针对redisTemplate的一些封装,包含一些日常比较容易用到的一些通用方法。

    utils类及baseAction

    `Utils`(工具类)通常是一些静态方法的集合,这些方法提供了通用的功能,例如字符串处理、日期操作、数学计算等。它们不包含任何实例变量,因为它们的设计目的是避免状态改变,确保方法的线程安全。在Java中,一个...

    Spring框架相关jar包

    Spring-beans模块也包含了一些核心的工具类,如ClassUtils、BeanUtils等,方便开发者进行类和对象的操作。 3. **Spring-context**: 上述的Spring-core模块提供的是基础服务,而Spring-context则在此基础上构建了一...

    spring必要jar包

    1. **spring-aop-4.2.6.RELEASE.jar**:这个jar包提供了面向切面编程(AOP)的支持,允许我们在不修改源代码的情况下,对程序进行功能增强,如日志记录、性能监控等。 2. **spring-beans-4.2.6.RELEASE.jar**:包含...

    Spring必备jar包

    2. **spring-core**: 提供了Spring框架的基础工具类,如Resource接口、BeanUtils、ClassUtils等。 3. **spring-beans**: 包含了BeanFactory和ApplicationContext的实现,以及bean定义和依赖注入的处理。 4. **spring...

    spring-framework-master

    "spring-core"模块是Spring的基础,包含了IoC容器的核心类和基础工具类,如Resource接口和ClassUtils类,它们为整个框架提供了基础支持。而"AOP"模块则实现了面向切面编程,允许开发者在不修改原有代码的情况下,...

    java工具类 utils.zip

    "java工具类 utils.zip" 提供了一系列实用的工具类,涵盖了日期处理、字符串操作、JSON解析、Spring Bean操作、加密解密、Base64编码、图像处理、随机数生成以及正则表达式等多个方面。下面我们将逐一探讨这些工具类...

Global site tag (gtag.js) - Google Analytics