spring 常用工具包
具体可以参考spring的文档:
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 Objectpublic abstract class ResourceUtils extends Objectpublic 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); } }