spring 常用工具包
具体可以参考spring的文档: http://tool.oschina.net/apidocs/apidoc?api=Spring-3.1.1
Object,String,Number相关
public abstract class StringUtils extends Object
- 去掉最后一个字符:
String lang ="java,c,html,";
lang = StringUtils.trimTrailingCharacter(lang,',');
//打印出java,c,html
同理,去掉第一个字符可以trimLeadingCharacter方法。 其余方法可以看详细API。
public abstract class NumberUtils extends Object
- 类型转换
Integer num =NumberUtils.parseNumber("12", Integer.class);
- 对象拷贝
org.springframework.beans.BeanUtils
//拷贝属性:
BeanUtils.copyProperties(source, target, ignoreProperties);
Resource,File相关
public abstract class FileCopyUtils extends Object
public abstract class ResourceUtils extends Object
public abstract class PropertiesLoaderUtils
- 以Ant风格路径获取Resource,这里支持ftp,http,classpath,file等地址前缀
ResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver();
Resource[] resource = patternResolver.getResources("classpath:*.properties");
- 从一个文件Copy到另外一个文件:
FileCopyUtils.copy(new File("p0"), new File("p1"));
- 获取文件,资源路径可以是 classpath:, file:, URL,
File file = ResourceUtils.getFile("classpath:jdbc.properties");
- 获取properties配置文件:
Properties properties = PropertiesLoaderUtils.loadAllProperties("http.properties")
- 读取文件
URL url = ResourceUtils.getURL("classpath:yn-http.properties");
UrlResource resource = new UrlResource(url);
//其中EncodedResource可以指定具体的编码格式
EncodedResource enResource = new EncodedResource(resource,"utf-8");
String result = FileCopyUtils.copyToString(enResource.getReader());
System.out.println(result);
常用的Resource实现类有: ClassPathResource,FileSystemResource,InputStreamResource,UrlResource, 具体可在org.springframework.core.io包下查看
Assert
在Spring的源代码里面,经常看到这样的代码:
我们发现在Assert类中的具体实现:
对于一些异常的检验,可以参考这个设计 例如,在这里,我们还可以自定义异常,最后统一捕获。
public static void checkBussiness(Object object, String message)
{
if (checkSomething()) {//业务逻辑校验
throw new MyException(message);
}
}