Spring抽象的资源接口Resource的继承体系

写句题外话,市面上的spring书籍多如牛毛,有很多可选的,但是很系统的博客不多,推荐一个我朋友(开涛)的博客,我觉得他的Spring系列写的非常棒:


请戳下面的链接:


跟着开涛学Spring3


而我写的这些零零散散的关于Spring博客,是他这一个系统的一些读后感,以及一些个人见解,另外我会补上一些类图,让大家对整个知识体系有一个比较系统的认识。


声明:所有类图,都不包含private的子类



关于Resource的使用,可以参见开涛的博客。  我想说一下我的一点认识吧。  其实这些Resource主要就分为2大类:只读,与可读可写。

从上面类图我们可以看出FileSystemResource,实现了WritableResource,因此仅有这个类属于可读可写,而其它的均属于只读的Resource.

这一点,我们从可以从源码的角度来证明,我们来看一个WritableResource提供那些扩展方法。


看到木有? 可以得到OutputStream。 而我们再来看一下AbstractResource类的说明


上面有很清楚的注释: isOpen() 总是Return false.而 getURL() 和 getFile()总是抛出异常, 这3个方法的源代码截图我就不贴出来。 各位可以想想为什么?

如果能获取到一个资源的URL 或者说能获取 某个File,那我是不是就有机会对他进行写操作。  因此,从这个角度来说,AbstractResouce及其子类都是只读资源(重写过这些方法的子类例外)。


另外,Resource是在spring-core包,他是可以独立于Spring来使用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值