org.springframework.core.io包中主要是各样的Resource类,Spring的 Resource
接口是为了提供更强的访问底层资源能力的抽象。具体的用法参考spring reference。这个包的类图非常简单,已经有人画的很清晰了,我直接拿过来,来自:Spring代码赏析:Resource类层次
相当巧妙的地方在于,为何AbstractResource的子类有的override了getFile()而有的没有?这是因为在AbstractResource的getFile()方法设计为抛出异常,如果子类没有重写此方法,说明子类不支持通过绝对路径查找资源的方式,而override的子类则提供自己的实现。这里通过类的层次设计,充分利用继承带来的优点,避免了大量的条件语句。
文章转自庄周梦蝶 ,原文发布时间5.17
时间: 2024-10-28 16:22:09