Spring源码解析-Resource配置文件封装

注:上一章:Spring源码解析-获取Bean工厂方法

前言

  上一章了对Spring容器功能的大致描述,本章主要讲解Spring对配置文件的封装

spring最简单用法

Resource resource = new ClassPathResource("applicationContext.xml"); //加载资源文件
BeanFactory factory = new XmlBeanFactory(resource);//创建容器IOC对象
Bean userSpring = (Bean) factory.getBean("beanUser");//获取bean对象

本章主要讲解的是其中 Resource 接口

在阅读本章之前,需要了解的概念

  在java中将不同来源资源抽象成URL,不同类型的URL一般使用不通前缀来区分,如:file:、http:、jar: 等等。java对于URL并没有提供一些基本的方法,如检查资源是否存在、检查资源是否可读等等。

Resource接口封装

  对于URL没有提供一些基本方法,所以spring将所有的资源都封装在Resource接口中。

Resource接口资源文件处理类图

在这里插入图片描述
Resource接口继承了spring中的InputStreamSource接口,该接口只有一个方法——获取InputStream流。所以在日常开发中可以通过Resource接口接口从而获取InputStream流。

注:获取InputStream流的实现在继承接口的实现类中实现,实现方式很简单,就是使用classLoader类加载器中FileInputStream()方法获取。

Resource接口源码解析

  Resource接口源码如下:

public interface Resource extends InputStreamSource {
	boolean exists();//存在性
	boolean isReadable();//可读性
	boolean isOpen();//是否处于打开状态
	URL getURL() throws IOException;//URL
	URI getURI() throws IOException;//URI
	File getFile() throws IOException;//File
	long lastModified() throws IOException;//文件lastModified属性
	Resource createRelative(String relativePath) throws IOException;//基于当前资源创建一个相对资源
	String getFilename();//文件名
	String getDescription();//用于错误处理中的打印信息
}

Resource接口抽象了所有Spring内部使用的底层资源:File、URL、Classpath等。

本章是作者看书后自己的见解,如有错误欢迎大家来纠正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值