`

Spring的资源访问 Resource

阅读更多

前言:相比如资源访问,我们听过最多还是IOC和AOP之类,而无论是多么完美的设计模式还是流程理念,还要依赖于一个更重要的基础,简单高效的资源定位,无可置疑所有的服务都是依赖于资源bean,而资源访问就是就是业务逻辑与bean的交互路径。

 

java中有一些资源访问的类,比如URL File等,但还是无法满足很多底层的需求,因此Spring为我们设计了一个Resource接口,该接口提供了几种资源访问的方式,和对底层资源访问的能力。

 

Resource具体的实现类:

 

ByteArrayResource :二进制数组表示的资源。

 

ClassPathResource:类路径表示资源。

 

FileSystemResource:文件系统资源。

 

InputStreamResource:流表示的资源。

 

ServletContextResource:相对于web跟路径来加载资源,并支持url和流的访问方式,在war包中也可以通过文件的访问

方式来访问,当然这是为web工程设计的。

 

UrlResource:封装了java.net.url可以访问Http ftp等。

 

Resouce接口有几个主要的方法:

 

boolean exists() 资源是否存在。

 

boolean isOpen() 资源是否打开。

 

Spirng中的配置文件如何加载资源?

 

通过资源地址表达式:

 

classptah: 从类路径加载资源。

例如:classpath:com/test/text/text.java

 

file:文件系统加载资源。

 

例如:file:/conf/test.xml

 

http:// 或 ftp:// 使用urlResource来加载资源。

 

ANt风格的匹配符:

 

?任意一个字符。

* 任意多个字符。

** 多层目录。

 

注意classpath*:表示匹配多个包下的类,而不是匹配一个包。

例如 classpath:com/test/test/test*.java

如果在com/test/test/test1.java com/test/test/test2.java 这些包中,这种写法只会加载第一个test1包中的test1.java

而用classpath*:则会检查所有的包,取出test1.java和test2.java 。

 

 

待续-------------------------------------

 

 

分享到:
评论

相关推荐

    spring资源访问

    ### Spring资源访问详解 #### 资源访问概述 在Spring框架中,资源访问是一个非常重要的功能,它为开发者提供了一种统一的方式去访问不同类型的资源(如文件、URL等)。这一特性使得开发者能够轻松地在不同的环境中...

    spring资源访问的一个例子

    在"spring资源访问的一个例子"中,可能包含了一个名为`testresource`的子文件夹。这通常表示该目录存放了与资源访问相关的测试文件,可能是HTML、CSS、图片或其他静态文件。为了使这些资源在打包后能够正常运行,...

    spring Resource管理详解

    Spring的Resource接口是访问资源的抽象,它提供了一种统一的资源访问方式,可以处理不同来源的资源,包括本地文件系统、类路径、URL等。Resource对象并不直接包含资源内容,而是提供了打开输入流、获取资源路径等...

    spring-resource

    `Resource`接口是Spring框架提供的一种抽象层,用于封装资源访问,它可以是本地文件系统中的文件,也可以是URL、类路径下的资源,甚至是JDBC数据源。通过`Resource`接口,开发者可以统一地处理不同来源的资源,提高...

    spring中的资源访问宝典

    在Spring框架中,资源访问是核心功能之一,它允许开发者高效、便捷地处理各种类型的资源,包括文件、网络、类路径等。本文将详细介绍Spring如何通过`Resource`接口及其实现类来简化资源的访问。 首先,传统的资源...

    Springboot访问Resource下的文件.pdf

    2. **访问Resource目录下的文件** 在Spring Boot中,我们可以使用`ClassPathResource`或`Resource`类来访问`src/main/resources`目录下的文件。例如,要读取一个名为`file.pdf`的PDF文件,可以这样做: ```java ...

    Springboot访问Resource下的文件.docx

    ### Spring Boot 访问 Resource 下的文件 #### 知识点一:Spring Boot 项目结构与 Resource 文件夹 在 Spring Boot 项目中,`src/main/resources` 文件夹用于存放项目的资源文件,包括配置文件、静态资源文件(如...

    spring resource code

    标题“spring resource code”指的是与Spring框架相关的源代码资源,这通常涉及到Java应用程序开发中的核心概念。Spring是一个开源的Java平台,它为构建企业级应用提供了全面的框架支持。Spring以其依赖注入...

    spring3.x 实战资源教程

    #### 3.3 访问Resource - **使用ResourceLoader**:可以通过ApplicationContext获取ResourceLoader,然后调用其`getResource(String location)`方法获取Resource对象。 #### 3.4 Resource通配符路径 - **通配符**:...

    19 Spring MVC应用拓展Resource应用于文件下载慕课专栏1

    Resource接口是Spring提供的,用于抽象资源的访问,它可以是文件、URL、类路径下的资源等。通过Resource的实现类,如FileSystemResource或ClassPathResource,我们可以轻松地获取到文件的InputStream。 例如,对于...

    Spring的约束资源

    通过`@Secured`、`@PreAuthorize`等注解,可以控制对特定资源的访问。此外,Spring Security还支持OAuth2、JWT等现代安全协议。 6. **异常处理**:Spring MVC提供了统一的异常处理机制,我们可以通过定义`@...

    Spring实战之ServletContextResource访问资源文件示例

    在Spring框架中,`ServletContextResource` 是一个非常实用的类,它允许我们通过Servlet上下文(`ServletContext`)来访问Web应用中的资源文件。在实际的Web开发中,我们需要经常处理如XML配置文件、静态资源等文件...

    Spring Security OAuth2的resource_id配置和验证.docx

    总之,Spring Security OAuth2 的 resource_id 配置和验证机制是系统安全性和资源访问控制的关键部分。通过正确配置和验证 resource_id,可以确保客户端只能访问被明确授权的资源,从而提高系统的整体安全性。

    Spring实战之使用ClassPathResource加载xml资源示例

    在Spring框架中,`ClassPathResource`是一个非常重要的类,用于加载类路径(classpath)下的资源文件,如XML配置文件。在实际开发中,我们经常需要从类路径中读取这些资源来初始化bean或其他配置。本示例将详细介绍...

    spring资源文件

    综上所述,Spring资源文件的使用涉及到了Spring框架的多个核心概念,包括配置管理、资源加载、国际化、环境适应性等方面。理解并熟练掌握这些知识点对于有效地利用Spring进行企业级应用开发至关重要。在实际开发中,...

    Spring Boot项目打成jar包后,下载resources目录下文件为空的demo

    在Spring Boot应用中,资源文件(resources)是存放应用程序所需...正确配置应用、构建工具以及代码中的资源访问路径,通常能有效地解决这类问题。在实际开发中,确保进行充分的测试和调试,以确保所有功能的正常运行。

    基于Spring和Spring MVC实现可跨域访问的REST服务

    要解决跨域问题,Spring提供了CORS(Cross-Origin Resource Sharing)支持。默认情况下,浏览器阻止跨域请求,但我们可以配置Spring MVC来允许特定来源的请求。这通常通过`@CrossOrigin`注解实现,可以应用于...

    Spring security oauth源码

    同时,Sparklr2和Tonr2示例能帮助我们直观地看到OAuth流程的每个步骤,包括授权、令牌交换和资源访问。 在实际开发中,你可以根据这些源码学习如何自定义OAuth流程,例如实现自己的授权策略、令牌存储方式,或者...

    Spring实战之使用Resource作为属性操作示例

    在Spring中,我们可以使用Resource作为Bean的属性,从而实现对资源的访问和操作。 Resource的概念 在Spring中,Resource是对资源的抽象表示,可以是一个文件、一个URL或是一个输入流等。Resource接口提供了几个...

    spring-security-oauth2源码

    OAuth2是一个授权框架,允许第三方应用在用户许可的情况下访问其受保护的资源,而OpenID Connect则是在OAuth2之上添加身份验证层。下面将详细探讨Spring Security OAuth2的核心概念、工作流程以及关键组件。 1. **...

Global site tag (gtag.js) - Google Analytics