org.springframework.core.io包的类图

    org.springframework.core.io包中主要是各样的Resource类,Spring的 Resource 接口是为了提供更强的访问底层资源能力的抽象。具体的用法参考spring reference。这个包的类图非常简单,已经有人画的很清晰了,我直接拿过来,来自: Spring代码赏析:Resource类层次

org.springframework.core.io包的类图_第1张图片

相当巧妙的地方在于,为何AbstractResource的子类有的override了getFile()而有的没有?这是因为在AbstractResource的getFile()方法设计为抛出异常,如果子类没有重写此方法,说明子类不支持通过绝对路径查找资源的方式,而override的子类则提供自己的实现。这里通过类的层次设计,充分利用继承带来的优点,避免了大量的条件语句。

你可能感兴趣的:(spring)