Spring 不但提供了一个功能全面的应用开发框架,本身还拥有众多可以在程序编写时直接使用的工具类,您不但可以在 Spring 应用中使用这些工具类,也可以在其它的应用中使用,这些工具类中的大部分是可以在脱离 Spring 框架时使用的。了解 Spring 中有哪些好用的工具类并在程序编写时适当使用,将有助于提高开发效率、增强代码质量。
在这个分为两部分的文章中,我们将从众多的 Spring 工具类中遴选出那些好用的工具类介绍给大家。第 1 部分 介绍了与文件资源操作和 Web 相关的工具类。在第 2 部分中将介绍特殊字符转义和方法入参检测工具类。
public InputStream getData(String file){ Assert.hasText(file,"file入参不是有效的文件地址"); ① 使用 Spring 断言类进行方法入参检测 … }
可见使用 Spring 的 Assert 替代自编码实现的入参检测逻辑后,方法的简洁性得到了不少的提高。Assert 不依赖于 Spring 容器,您可以大胆地在自己的应用中使用这个工具类。
回页首
小结
本文介绍了一些常用的 Spring 工具类,其中大部分 Spring 工具类不但可以在基于 Spring 的应用中使用,还可以在其它的应用中使用。
对于 Web 应用来说,由于有很多关联的脚本代码,如果这些代码通过拼接字符串的方式动态产生,就需要对动态内容中特殊的字符进行转义处理,否则就有可能产生意想不到的后果。Spring 为此提供了 HtmlUtils 和 JavaScriptUtils 工具类,只要将动态内容在拼接之前使用工具类进行转义处理,就可以避免类似问题的发生了。如果您不介意引入一个第三方类包,那么 jakarta commons lang 通用类包中的 StringEscapeUtils 工具类可能更加适合,因为它提供了更加全面的转义功能。
最后我们还介绍了 Spring 的 Assert 工具类,Assert 工具类是通用性很强的工具类,它使用面向对象的方式解决方法入参检测的问题,您可以在自己的应用中使用 Assert 对方法入参进行检查。
参考资料
学习
阅读本文的 第 1 部分:介绍了与文件资源操作和 Web 相关的工具类。
Spring 系列:Spring 框架简介:优秀的 Spring 框架入门系列,了解 Spring 框架的基本概念。
Spring 让 LOB 数据操作变得简单易行:讲解了在 Spring 中处理 LOB 数据的原理和方法。
获得产品和技术
Springframework 网站:下载 Spring 框架。
关于作者
陈雄华,2002 年毕业于厦门大学计算机与信息工程学院,获硕士学位。是宝宝淘科技有限公司的创始人之一(http://www.baobaotao.com),这是一个服务于全国母婴用户的综合性网站,作者负责网站整体框架设计以及核心代码开发的工作。技术开发之余,常将经验所得行诸于文字,作者是国内多个著名技术网站的专栏作者,在各大技术网站、报刊杂志发表过数十篇技术文章,广受读者好评。于 2005 年出版《精通 JBuilder 2005》,于2007年出版《精通 Spring 2.x--企业应用开发详解》,其新作《EXT 2.x开发详解――AJAX和Web页面布局王者至尊》即将出版。
建议
2 条评论 | 添加评论举报不良信息
很不错,实用。
由 tomcatlee2003 于 23 02 2011
2篇文章都整理得不错啊!
由 zuozhengfeng1983 于 17 01 2011
添加评论
回页首
static.content.url=http://www.ibm.com/developerworks/js/artrating/SITE_ID=10Zone=Java technology, Open source, Web developmentArticleID=252488ArticleTitle=Spring 的优秀工具类盘点,第 2 部分: 特殊字符转义和方法入参检测工具类publish-date=08312007author1-email=quickselect@163.comauthor1-email-cc=url=http://www.ibm.com/developerworks/cn/java/j-lo-spring-utils2/
内容
特殊字符转义
方法入参检测工具类
小结
参考资料
关于作者
建议
标签
使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。