有的时候,我们需要加载资源(File、Properties文件了等等)的时候,因为,java是根据不同的ClassLoder,这个时候,如果我们不使用带有ClassLoder的参数进行加载,很可能得到一个java.exception.FileNotFoundException的异常信息,这个时候,我们如果给定ClassLoder,这个时候回去资源一般都是正确的,如果还是出现java.exception.FileNotFoundException异常信息,那么指定是你自己真的是地址写错了。
public static ClassLoader getDefaultClassLoader() { ClassLoader cl = null; try { cl = Thread.currentThread().getContextClassLoader(); } catch (Throwable ex) { } if (cl == null) { cl = PropertiesUtil.class.getClassLoader(); if (cl == null) { try { cl = ClassLoader.getSystemClassLoader(); } catch (Throwable ex) { } } } return cl; }这一段是Spring-4.1.8的
org.springframework.util.ClassUtils 的一个方法,可以通过这个方法获取当前的ClassLoder。