新版本Spring对于老版本JDK的支持方式
2009-09-07 00:00:00 来源:WEB开发网我的环境: JDK 1.5 Spring 2.5
今天将Spring2.5导入Eclipse,准备将其做成Plugin,以备开发RCP.
Spring2.5是号称支持JDK1.5的.
导完了Spring代码,解决了第三方jar依赖,编译发现Error3.奇怪,查代码.
Java代码
public void load(Properties props, Reader reader) throws IOException {
if (loadFromReaderAvailable) {
// On JDK 1.6+
props.load(reader);
}
else {
// Fall back to manual parsing.
doLoad(props, reader);
}
}
看注释: // On JDK 1.6+. 也就是
Java代码
Properties.load(Reader);
是JDK1.6+才提供的.
既然这样,那Spring2.5怎么又号称支持JDK1.5呢? 继续看代码.
Java代码
// Determine whether Properties.load(Reader) is available (on JDK 1.6+)
private static final boolean loadFromReaderAvailable =
ClassUtils.hasMethod(Properties.class, "load", new Class[] {Reader.class});
原来是这样的呀.
也就是Spring2.5是在JDK1.6+以上编译出来的,对于JDK1.6+的新特性都是这样来处理,发现是1.6就是用新特性,不是1.6就是用替换的方法.
这种对低版本的支持方式,真是给了自己很好的理会.
赞助商链接