spring学习笔记(2)文件资源访问接口Resource

简介: <div class="markdown_views"><h1 id="spring-资源抽象接口下的几个常用实现类">spring 资源抽象接口下的几个常用实现类</h1><table><thead><tr><th>实现类</th> <th>说明</th></tr></thead><tbody><tr><td>ClassPathResource</td>

spring 资源抽象接口下的几个常用实现类

实现类 说明
ClassPathResource 类路径下的资源,资源以相对类路径的方式表示
FileSystemResource 文件系统资源,资源以文件系统路径的的方式表示,如/home/root/test.txt
ServletContextResource 为访问web上下文中的资源而设计的类,负责以相对于web应用根目录的路径加载资源,它支持以流和URL的方式访问,在war解包情况下,也可以通过File的方式访问,该类还可以直接从jar包中访问资源;
UrlResource Url封装了java.net.URL ,它使用户能够访问任何可以通URL表示的资源,如文件系统的资源、HTTP资源、FTP资源等

类型资源前缀

地址前缀 对应资源类型
classpath: 从类路径中加载资源,资源文件可以在标准的文件系统中,也可以在jar或zip的类包中。
file: 使用UrlResource从文件系统目录中装载资源,可使用绝对路径或相对路径
http:// 使用UrlResource从Web服务器中装载资源
ftp:// 使用UrlResource从FTP服务器中装载资源
根据具体的实现类再用对应类型的resource

Ant风格资源地址支持3种匹配符:

符号 说明
匹配文件名中的一个字符
* 匹配文件名中任意一个字符
** 匹配多层路径

资源加载器

说明
ResourceLoader 是一个interface,通过getResource(String Location)方法根据资源地址来加载资源,仅支持带资源类型前缀的表达式,不支持Ant风格的资源路径表达式。
ResourcePatternResolve 扩展自ResourceLoader接口,但也是一个interface。通过getResources(String LocationPattern)来获取资源,该方法支持带资源类型前缀和Ant风格的资源路径。
PathMachingResourcePatternResolver ResoucePatternResolve的标准实现类,多通过此类来加载资源。
目录
相关文章
|
22天前
|
XML Java 数据格式
探索Spring之利剑:ApplicationContext接口
本文深入介绍了Spring框架中的核心接口ApplicationContext,解释了其作为应用容器的功能,包括事件发布、国际化支持等,并通过基于XML和注解的配置示例展示了如何使用ApplicationContext管理Bean实例。
46 6
|
2月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
87 2
|
8天前
|
Java Spring
【Spring配置】创建yml文件和properties或yml文件没有绿叶
本文主要针对,一个项目中怎么创建yml和properties两种不同文件,进行配置,和启动类没有绿叶标识进行解决。
|
3月前
|
存储 安全 Java
|
3月前
|
存储 前端开发 Java
Spring Boot 集成 MinIO 与 KKFile 实现文件预览功能
本文详细介绍如何在Spring Boot项目中集成MinIO对象存储系统与KKFileView文件预览工具,实现文件上传及在线预览功能。首先搭建MinIO服务器,并在Spring Boot中配置MinIO SDK进行文件管理;接着通过KKFileView提供文件预览服务,最终实现文档管理系统的高效文件处理能力。
449 11
|
3月前
|
自然语言处理 JavaScript Java
Spring 实现 3 种异步流式接口,干掉接口超时烦恼
本文介绍了处理耗时接口的几种异步流式技术,包括 `ResponseBodyEmitter`、`SseEmitter` 和 `StreamingResponseBody`。这些工具可在执行耗时操作时不断向客户端响应处理结果,提升用户体验和系统性能。`ResponseBodyEmitter` 适用于动态生成内容场景,如文件上传进度;`SseEmitter` 用于实时消息推送,如状态更新;`StreamingResponseBody` 则适合大数据量传输,避免内存溢出。文中提供了具体示例和 GitHub 地址,帮助读者更好地理解和应用这些技术。
464 0
|
3月前
|
Java Maven Spring
用Spring导致的无法运行Java文件的问题的解决方案
本文提供了解决在IntelliJ IDEA社区版中使用Spring Initializr插件创建Spring项目后,Java文件无法运行的问题的方法,主要是通过加载Maven项目来解决。
91 0
|
3月前
|
存储 NoSQL Java
Spring Boot项目中使用Redis实现接口幂等性的方案
通过上述方法,可以有效地在Spring Boot项目中利用Redis实现接口幂等性,既保证了接口操作的安全性,又提高了系统的可靠性。
67 0
|
2月前
|
前端开发 Java 开发者
Spring生态学习路径与源码深度探讨
【11月更文挑战第13天】Spring框架作为Java企业级开发中的核心框架,其丰富的生态系统和强大的功能吸引了无数开发者的关注。学习Spring生态不仅仅是掌握Spring Framework本身,更需要深入理解其周边组件和工具,以及源码的底层实现逻辑。本文将从Spring生态的学习路径入手,详细探讨如何系统地学习Spring,并深入解析各个重点的底层实现逻辑。
69 9
|
Java API Spring
Spring学习路径
Spring作为一个优秀的开源企业级框架有着一下特点 开源框架 简化企业级应用开发的流程 Spring是一个JavaSE/EE的一站式框架 优点在于 方便解耦 AOP的编程支持 声明式事务的支持 可以引入jUnit4,方便程序测试 对优秀开源框架的支持,方便集成 降低JavaEE API的使用难度.
2519 0