Spring学习(九)资源访问接口Resource

05.Spring 资源加载 - Resource 基本概念Spring 的 Resource 接口代表底层外部资源,提供了对底层外部资源的一致性访问接口。利用该接口可以表示不同形式(类型)的资源。 InputStreamSource 接口 public interface InputStreamSource { // 表示任意形式的资源都可以被转换成输入流 InputStream getInputStream() throws IO 阅读详情
JDK所提供的访问资源的类并不能很好的满足各种底层资源的访问需求,比如缺少从类路径或者从web容器的上下文中获取资源的操作类。因此,Spring设计了一个Resource接口,它为应用提供了更强大的访问底层资源的能力。该接口拥有对应不同资源类型的实现类。

那么先来了解一下resource资源中的主要方法:
1.    boolean exists():判断资源是否存在
2.    boolean isOpen() :判断资源是否已经打开
3.    URL getURL() :如果底层资源可以表示成url,那么该方法返回对应的url对象
4.    File getFile() :如果底层资源对应的是一个文件,那么返回对应的文件对象
5.    InputStream getInputStream():返回资源对应的输入流

Spring框架使用resource来装载各种资源,这些资源包括:配置文件资源、国际化属性文件资源等。

那么下面我们来了解以下resource的具体实现类:
1.    ByteArrayResource :二进制数组表示资源
2.    ClassPathResource :类路径下面的资源
3.    FileSystemResource :文件系统资源,以文件系统路径的方式来表示
4.    InputStreamResource :输入流资源
5.    ServletContextResource :web容器上下文中的资源,负责以以相对于web的应用根目录的路径来加载资源。支持以流和url的方式来进行访问。在war包解包的情况下也可以通过file的方式来进行访问。该类还可以从jar包中来直接访问资源。
6.    UrlResource:封装了java.net.url,他使用户可以访问任何可以通过url访问的资源。如文件系统的资源、http的资源、ftp的资源等
那么有了以上的这几个抽象的资源类以后,我们就可以将Spring的配置信息放置在任何地方。比如数据库或者LDAP当中。

为了访问不同类型的资源,必须使用相应的Resource实现类,这是比较麻烦的,Spring提供了一个强大的加载资源的机制,他不但能够通过classpath、file等不同地址前缀来识别不同的资源类型,而且还支持Ant风格的带通配符的资源地址。
那么首先我们先来了解下Spring支持哪些不同类型的资源地址前缀:
1.    classpath  classpath:com/wang/bean.xml
2.    File file:/com/wang/bean.xml(可以采用绝对或者相对的路径)
3.    http:// http://www.wang.com/bean.xml
4.    ftp ftp://www.wang.com/bean.xml
5.    无前缀 com/wang/bean.xml
Ant风格的匹配符介绍:
1.    ?:匹配文件名中的一个字符
2.    *:匹配文件名中的任意字符
3.    **:匹配多层路径
Ant风格的资源路径示例:
1.    Classpath:com/t*st.xml
2.    File:D:/conf/*.xml
3.    Classpath:com/**/test.xml
4.    Classpath:org/springframework/**/*.xml
Unity集成阿里云语音AI:从麦克风录音到实时语音合成的全流程实现 本文详细介绍了在Unity中集成阿里云语音AI服务,实现从麦克风录音到实时语音合成的完整流程。通过调用阿里云的语音转文字和文字转语音接口,开发者可以快速为游戏或应用添加语音交互功能,提升用户体验。文章涵盖了环境配置、签名认证、音频处理及项目集成等核心步骤,并提供了实用的调试技巧。 阅读详情

相关推荐

Java 开发打飞机小游戏(附完整源码)

上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习。java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐。代码写的很简单,也很容易理解,并且注释写的很清楚了,还有问题,自己私下去补课学习。 完整代码 敌飞机 import java.util.Random; 敌飞机: 是飞行物,也是敌人 public class Airplane extends FlyingObject implements Enemy {

一只独孤的程序猿 1万+

Spring Boot: spring boot的web应用如何访问Resource

当springboot应用被打包为一个fatjar时,是如何访问到webresource的?实际上是通过Archive提供的URL,然后通过Classloader提供的访问classpathresource的能力来实现的。比如需要配置一个index.html,这个可以直接放在代码里的src/main/resources/static目录下。...

GIS摆渡人 940

JLink 添加国产芯片手把手教程(雅特力 + 华大)

拷贝厂商算法文件夹 + 配置 JLinkDevices.xml。雅特力直接复制官方配置,华大按需添加芯片节点,操作一次,永久生效,以后调试 AT32、HC32 再也不用愁找不到型号。这套方法适配全版本 JLink,也是国产 MCU 替代项目的必备技能,看完照着做,新手也能轻松搞定。百度网盘资料分享:通过网盘分享的文件:jink驱动(包括新增芯片型号)链接: https://pan.baidu.com/s/14SLgrPfyof1lglD6VQguAw?pwd=cfuq 提取码: cfuq。

weixin_48867130的博客 704

Spring框架中的Resource接口是什么,以及它在加载和访问资源时的关键作用

ResourceResource接口是 Spring 框架中用于加载和访问资源的关键组件。它提供了一种统一的方式来处理不同类型的资源,包括类路径下的资源和文件系统中的资源。通过使用Resource接口,您可以更灵活地管理应用程序中的资源,无论这些资源实际上存储在哪里。希望这篇文章能够帮助您更好地理解和使用 Spring 框架中的Resource接口。通过合理利用Resource接口,您可以更好地组织和管理应用程序中的资源,使其更具可维护性和扩展性。后记 👉👉💕💕美好的一天,到此结束,下次继续努力!!

weixin_65175398的博客 1557

[cryoEM] cryoSPARC简介

cryoSPARC系统结构概述 cryoSPARC是一个后端和前端高性能计算软件系统,为单颗粒冷冻电镜提供数据处理和图像分析能力,以及丰富的基于浏览器的用户截面和命令行工具。 Master-worker模式 系统基于主用户模式。 主进程(web应用,核心应用程序和MongoDB数据库)一起在主节点上运行。主节点需要相对轻量级的资源(2+ CPU< 16GB+ RAM)。 工作程序进程可以在具有GPU的任何可用节点上生成,负责所有实际计算和数据处理,并由主节点调度。注意:同一节点可以同时充当主节点和辅

进阶中的程序员吃吃的博客 7793

MobaXterm详细使用教程

当然MobaXterm的功能远不止这些,但这些是最基本,最常用的,因此先拿出来讲。点击确定后,输入密码(输入密码时并不会显示,只管输入后按确定即可,第一次登陆成功后会提示保存密码,一般选择同意),就可以连接上虚拟机了。(2) 我们可以直接apt-get安装vim等常用功能(或者官网下载插件),实现在windows下模拟linux环境,这样就可以使用vi命令准备INCAR文件,也可以使用Gnuplot进行绘图。支持 Unix 命令(bash,ls,cat,sed,grep,awk,rsync,…

博客 4万+

SpringBoot项目中前端页面通过URL访问本地文件夹(访问静态文件)

前端页面通过URL访问本地文件夹 在application.yml中添加配置 实现WebMvcConfigurer接口 前端页面中进行访问 前端页面通过URL访问本地文件夹 因为SpringBoot项目中使用的嵌入Tomcat,所以前端页面不能像以前那样直接将从Tomcat很目录访问文件。 解决办法:继承WebMvcConfigurer接口对访问URL进行拦截,然后将访问文件的URL映射至本地文件夹 1.在application.yml中添加配置 首先在本地创建文件夹 acc...

样young的博客 3753

LabVIEW状态机实战:用STM32+DHT11搭建温湿度监测系统(附完整VI源码)

本文详细介绍了如何利用LabVIEW状态机模式与STM32微控制器、DHT11温湿度传感器构建温湿度监测系统。通过硬件选型、状态机设计、LabVIEW程序实现及系统优化等环节,提供了一套完整的解决方案,并附有VI源码,助力开发者快速实现嵌入式温湿度监测应用。

weixin_42549723的博客 518

SpringBoot打成Jar包,访问本地其他路径的静态资源

解决SpringBoot打成jar后,本地静态资源通过http访问的问题

Zhaof_Notes 2347

Verilog与综合:数字逻辑的代码化革命及其未来挑战

本文深入探讨Verilog硬件描述语言与逻辑综合技术在数字芯片设计中的革命性作用。Verilog实现了数字逻辑的代码化描述,而综合技术则将其自动转换为门级网表,大幅提升设计效率。文章重点分析了在先进工艺节点下面临的时序、功耗和物理效应等挑战,并展望了AI驱动综合优化的未来发展方向。

postgres8guard的博客 800

YOLO11涨点优化:注意力魔改 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测

多尺度卷积注意力(MSCA),有效地提取上下文信息,新颖度高,创新十足。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 6308

SpringBoot打成jar包部署后,读取resources下的静态资源

第一段配置声明:在src/main/resources目录下,后缀是.xlsx与.xls的文件不是资源文件,其它的资源文件需要被过滤。而第二段配置声明:同样在src/main/resources目录下,后缀是.xlsx与.xls的文件是资源文件,但是不会被过滤。前端点击下载模板按钮后,下载对应的报表模板。但在下载的过程中碰到无法读取该目录下的资源,报无法找到该资源,今天碰到一个业务场景,待下载的报表模板要放在resources/static/templates目录下,

weixin_45162019的博客 2789

21天学会PCIe专栏(4.3)--PCIe配置方法

通过本节的学习,你应该对PCIe配置方法有了更深入的了解。软件配置方法包括直接访问和间接访问,可以通过特定的I/O指令或系统调用进行配置。硬件配置方法包括通过BIOS/UEFI设置和跳线设置,可以根据需要修改PCIe设备的配置参数。

xiaoheshang_123的博客 720

Spring之资源操作:Resource接口

🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️ 零基础学Java——小白入门必备🔥 重识C语言——复习回顾🔥 计算机网络体系———深度详讲 HCIP数通工程师-刷题与实战🔥🔥🔥 微信小程序开发——实战开发🔥 HarmonyOS 4.0 应用开发实战——实战开发🔥🔥🔥 Redis快速入门到精通——实战开发🔥🔥🔥

鱼干的博客 3723

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【Spring】开发框架Spring核心技术含Resource接口详细讲解

【Spring】开发框架Spring核心技术含Resource接口详细讲解、认识Spring体系结构、AOP模块、Web模块、测试模块、loc与DI、Spring资源访问神器——Resource接口等

m0_75058342的博客 4523

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Spring】Resource接口访问资源

Spring提供了Resource接口,为应用提供了更强的底层资源访问能力,该接口拥有对应不同资源类型的实现类。 资源访问接口 主要方法 boolean exists() 资源是否存在 boolean isOpen() 资源是否打开 URL getURL() throws IOException 如果底层资源可以表示成URL,则该方法放回对应的URL对象 File getFile() thro...

ngc_1277 241

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【小家Spring】资源访问利器---Spring提供的Resource接口以及它的常用子类源码分析

前言 资源是一个抽象的概念,什么是资源?我们已知Spring中有很多xml配置文件,同时还可能自建各种properties资源文件,还有可能进行网络交互,收发各种文件、二进制流等。 资源粗略的可以分为(这里以Spring的分类为例): URL资源 File资源 ClassPath相关资源 服务器相关资源(JBoss AS 5.x上的VFS资源) JDK操纵底层资源基本就是java.net.UR...

架构师:通透,才能写出好代码! 1704

Spring 学习笔记 Resource 资源

Spring Resources 概述 在日常程序开发中,处理外部资源是很繁琐的事情,我们可能需要处理 URL 资源、File 资源、ClassPath相关资源等等。并且在 java 中 Java .net.URL 类和用于各种 URL 前缀的标准处理程序对于所有对底层资源的访问都不够充分。处理各种各样的资源需要使用到不同的接口,这就增加了系统的复杂性。 对此 Spring 提供了 Resour...

qq_16830879的博客 1672

Resource 接口是 Spring 资源访问的接口,具体的资源访问由该接口的实现类完成

Spring 框架提供了很好的扩展性,除了可以与各种第三方框架良好整合外,其 IoC 容器也允许开发者进行扩展,这种扩展甚至无须实现 BeanFactory 或 ApplicationContext 接口, 而是允许通过两个后处理器对 IoC 容器进行扩展

HEMM000的专栏 1366

Spring的资源访问接口---Resource

转载自:https://www.2cto.com/kf/201803/731102.html JDK提供的访问资源的类(File等)不能很好满足各种某些资源的访问需求。比如缺少从类路径和Web容器的上下文中获取资源的资源操作类。Spring的Resource接口提供了更好用的资源访问能力。Spring使用Resource访问各种资源文件,配置文件资源,国际化属性资源等。 Resource.java...

sxudong2010的博客 307

Spring3外部资源访问之Resource接口

概述 在日常程序开发中,处理外部资源是很繁琐的事情,我们可能需要处理URL资源、File资源资源、ClassPath相关资源、服务器相关资源(JBoss AS 5.x上的VFS资源)等等很多资源。因此处理这些资源需要使用不同的接口,这就增加了我们系统的复杂性;而且处理这些资源步骤都...

chifancui9836的博客 183

通过Spring Resource接口获取资源

通过Spring Resource接口获取资源 目录 1       Resource简介 2       通过ResourceLoader获取资源 3       在bean中获取Resource的方式   1       Resource简介        在Spring内部,针对于资源文件有一个统一的接口Resource表示。其主要实现类有ClassPathResource、F

Jerry的博客 9064

spring核心技术之Resource资源理解

文章目录1 介绍**2 Resource 接口**resource接口提供哪些功能?3 spring为我们提供了哪些内置的Resource实现3.1 URLResource3.2 ClassPathResource3.3 FileSystemResource3.4 InputStreamResource3.5 ByteArrayResource4 ResourceLoader 资源加载5 Reso...

吃葡萄皮吐葡萄的博客 3638

Spring Resource接口进行资源访问

前言 什么是资源?我们已知Spring中有很多xml配置文件,同时还可能自建各种properties资源文件,还有可能进行网络交互,收发各种文件、二进制流等。粗略可分为:URL资源、File资源、ClassPath相关资源、服务器相关资源(JBoss AS 5.x上的VFS资源)。Spring把这些文件、二进制流统称为资源。程序对这些资源的访问,就叫做资源访问。 ...

成长之路 3993

Java基础 -- 资源访问利器Resource接口

资源抽象接口Resource 前言 JDK 所提供的访问资源的类(如 java.net.URL、File 等)并不能很好地满足各种底层资源的访问需求,比如缺少从类路径或者 Web 容器的上下文中获取资源的操作类。有鉴于此,Spring 设计了一个 Resource 接口,它为应用提供了更强的访问底层资源的能力。该接口拥有对应不同资源类型的实现类。 Resource接口里面的方法 boolean ...

寿春 1062

Spring 一 Resources概述、对外部资源访问、UrlResource访问网络资源、ClassPathResource 访问类路径下资源等

在日常程序开发中,处理外部资源是很繁琐的事情,我们可能需要处理 URL 资源、File 资源、ClassPath相关资源等等。并且在 java 中 Java .net.URL 类和用于各种 URL 前缀的标准处理程序对于所有对底层资源的访问都不够充分。处理各种各样的资源需要使用到不同的接口,这就增加了系统的复杂性。对此 Spring 提供了 Resource 接口来统一这些底层资源一致的访问。Resource 接口是一个更强大的接口,用于抽象对底层资源的访问。

Guizy 962
上一篇: Spring学习(八)Spring IoC容器原理分析
下一篇: Spring学习(十)BeanFactory VS ApplicationContext
wangxin1248
博客等级 码龄11年 305粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值