`
ponlya
  • 浏览: 164323 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Spring3之 Resource

阅读更多

主要是org.springframework.core.io.Resource接口

URLResource

@Test
	/**
	 * UrlResource 封装了java.net.URL,它能够被用来访问任何通过URL可以获得的对象,例如:文件、HTTP对象、FTP对象等。
	 * 所有的URL都有个标准的 String表示,这些标准前缀可以标识不同的URL类型,包括file:访问文件系统路径,
	 * http: 通过HTTP协议访问的资源,ftp: 通过FTP访问的资源等等。 
	 * UrlResource 对象可以在Java代码中显式地使用 UrlResource 构造函数来创建
	 *
	 */
	public void testUrlResource() throws Exception{
		Resource resource = new UrlResource("file:/D:/workspace/MyEclipseSSH/Spring305/src/bean.xml");
		//Resource resource = new UrlResource("http://127.0.0.1:8080/index.html");
		//Resource resource = new UrlResource(new URI("http://127.0.0.1:8080/index.html"));
		//System.out.println(resource.getFile().getAbsolutePath());//URL时就不要拿他的路径了,这是拿不到的
		System.out.println(resource.exists());
		System.out.println(resource.isOpen());
		System.out.println(resource.getURL());
		System.out.println(resource.getURI());
		System.out.println(resource.isReadable());
		System.out.println(resource.getFilename());
		System.out.println(resource.getDescription());
		System.out.println(new Date(resource.lastModified()));
	}

 FileSystemResource

	@Test
	/**
	 * 这是为处理 java.io.File 而准备的Resource实现。它既可以作为File提供,也可以作为URL
	 * @throws Exception 
	 */
	public void testFileSystemResource() throws Exception{
		//file:/D:/workspace/MyEclipseSSH/Spring305/ 到本工程的目录中
		Resource resource = new FileSystemResource("src/bean.xml");
		
		System.out.println(resource.exists());
		System.out.println(resource.isOpen());
		System.out.println(resource.getURL());
		System.out.println(resource.getURI());
		System.out.println(resource.isReadable());
		System.out.println(resource.getFilename());
		System.out.println(resource.getDescription());
		System.out.println(new Date(resource.lastModified()));
	}

 ClassPathResource

@Test
	/**
	 * 这个类标识从classpath获得的资源。它会使用线程context的类加载器(class loader)、给定的类加载器或者用来载入资源的给定类。
	 * 如果类路径上的资源存在于文件系统里,这个 Resource 的实现会提供类似于java.io.File的功能。而如果资源是存在于还未解开
	 * (被servlet引擎或其它的环境解开)的jar包中,这些 Resource 实现会提供类似于java.net.URL 的功能。 
	 */
	public void testClassPath() throws IOException{
		
		//Resource resource = new ClassPathResource("/com/spring305/test/resource/ResourceBean.xml");
		Resource resource = new ClassPathResource("com/spring305/test/resource/ResourceBean.xml");
		System.out.println(resource.getFile().getAbsolutePath());
		System.out.println(resource.exists());
		System.out.println(resource.isOpen());
		System.out.println(resource.getURL());
		System.out.println(resource.getURI());
		System.out.println(resource.isReadable());
		System.out.println(resource.getFilename());
		System.out.println(resource.getDescription());
		System.out.println(new Date(resource.lastModified()));
		File file = resource.getFile();
		if(file.isFile()){
			//以字节为单位读取文件的内容,常用于二进制文件,如声音,图象,影象等文件
			InputStream inputStream = new FileInputStream(file);
			int temp ;
			while ((temp = inputStream.read())!=-1) {
				System.out.write(temp);
				//System.out.println(temp);				
			}
			inputStream.close();
		}
		System.out.println("再读");
		if(file.isFile()){
			// 以字符为单位读取文件,常用与读文本,数字等类型的文件
			Reader reader = new InputStreamReader(new FileInputStream(file));
			int temp ;
			while ((temp = reader.read())!=-1) {
				System.out.write(temp);
				//System.out.println(temp);				
			}
			reader.close();
		}
		System.out.println(resource.isOpen());
		
		
	}

 

分享到:
评论

相关推荐

    Spring_ClassPathResource获得bean对象

    在Spring框架中,ClassPathResource是获取类路径资源的一个重要工具。它允许我们从类路径(classpath)中读取文件,如配置文件、属性文件等,这对于构建和管理Java应用程序非常有用。本篇文章将深入探讨如何使用Spring...

    spring Resource管理详解

    在Spring框架中,Resource管理是核心功能之一,它允许我们以统一的方式处理各种类型的资源,如文件、网络连接、输入/输出流等。本篇将深入解析Spring如何管理和操作Resource,以及其在实际开发中的应用。 一、...

    spring-resource

    在Spring框架中,`resource`是一个非常重要的概念,它主要用于管理和访问各种类型的资源,如文件、数据库连接、网络资源等。在本场景中,我们关注的是如何利用Spring的`Resource`接口来读取配置文件。这在Java应用...

    4Spring自动装配——annotation resource方式

    理解并熟练运用`@Autowired`和`@Resource`可以极大地提升Spring应用的可维护性和灵活性。在编写代码时,要根据需求选择合适的注解,并注意避免注入冲突。通过阅读和理解源码,我们可以更好地掌握Spring自动装配的...

    (转)Spring中@Autowired注解和@Resource注解的区别

    在Spring框架中,`@Autowired`和`@Resource`注解是两个常见的依赖注入(DI, Dependency Injection)工具,它们都是用来解决组件之间的耦合问题,使得代码更加灵活和可测试。然而,这两个注解在具体使用时有一些关键性...

    spring-resource-handling, Spring Framework 4.1资源处理示例.zip

    spring-resource-handling, Spring Framework 4.1资源处理示例 spring-资源处理 这里应用程序演示 Spring Framework 4.1中的新资源处理功能。 它最初是为在 4.1中讨论资源而开发的,在 SpringOne2GX 2014中讨论。...

    spring使用resource注解的demo

    在Spring框架中,`@Resource`注解是一个重要的组件注入工具,主要用于管理bean之间的依赖关系。这个注解来源于JSR 250规范,被Spring框架所支持并扩展。在这个"spring使用resource注解的demo"中,我们将深入探讨如何...

    spring3.x注解

    在 Spring 3.x 中,提供了两种用于属性装配的注解:@Autowired 和 @Resource。 1. @Autowired @Autowired 注解用于自动装配依赖项,默认按照类型匹配的方式(byType)进行注入。可以用于成员变量、setter 方法、...

    详解Spring关于@Resource注入为null解决办法

    3. 在 Service 层中,使用 @Resource 注解的方式来创建 DAO 对象,而不是使用 new 关键字来创建对象。 四、实践经验 在实际开发中,我们经常会遇到各种问题,例如,@Resource 注解的对象为 null 等问题。解决这些...

    spring框架的@Resource和@Component 程序和文档

    在Spring框架中,`@Resource`和`@Component`是两个重要的注解,它们用于不同的目的,但都与依赖注入(Dependency Injection,简称DI)息息相关。理解这两个注解的使用和区别是掌握Spring框架核心概念的关键。 首先...

    spring中Resource和Component注解

    在Spring框架中,`@Resource`和`@Component`是两个非常重要的注解,它们用于不同的目的,但都与依赖注入(Dependency Injection, DI)息息相关。这篇文章将深入探讨这两个注解,以及它们如何在Spring应用中协同工作...

    spring3注解详细

    # Spring 3 注解详解 在 Spring 3 中,注解成为了主要的配置方式,极大地简化了应用程序的配置。本文将详细介绍几个关键的注解,包括 @Autowired、@Qualifier、@Resource 和 @PostConstruct,以及它们在实际开发中...

    Spring注解@Resource和@Autowired.doc

    相比之下,@Resource 是 J2EE 提供的注解,需要导入 javax.annotation.Resource 包。它也可以在字段和 setter 方法上使用。但是,它默认按照名称自动装配,而不是按照类型。如果使用 name 属性,则使用 byName 的...

    spring resource code

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

    跟我学spring3

    《跟我学Spring3》是一本全面介绍Spring框架的教程,结合了代码实例和详尽的文档,旨在帮助读者深入理解并掌握Spring3的核心特性和使用方法。Spring是Java开发领域中广泛使用的轻量级框架,它以其依赖注入...

    使用spring-cloud-security-oauth2来实现oauth server和resource server

    使用spring-cloud-security-oauth2来实现oauth server和resource server,oauth Server和resource Server分开,resource Server实现了两种方式

    Spring 3.x 中文开发手册.pdf

    ### Spring 3.x 新特性详解 #### 一、Spring 3.x 概述 Spring 3.x 是一个重大版本更新,引入了许多新功能和改进,旨在简化开发过程并提高应用程序性能。Spring 框架的核心优势在于其轻量级、模块化以及易于集成第三...

    Spring实战之使用@Resource配置依赖操作示例

    Spring实战之使用@Resource配置依赖操作示例 本文主要介绍了Spring实战之使用@Resource配置依赖操作的示例,通过实例形式分析了Spring使用@Resource配置依赖的具体步骤、实现及测试案例。 @Resource注解 @...

    跟我学Spring,Spring3学习资料

    - **IoC基础:** IoC是Spring的核心概念之一,通过它,Spring实现了对业务对象的管理和配置。IoC意味着创建对象的控制权由应用代码转到了外部容器,例如Spring容器。 - **IoC容器基本原理:** Spring的IoC容器通过...

    Spring3.X编程技术与应用

    但是根据标题“Spring3.X编程技术与应用”和标签“Spring”可以推断出所要讨论的主题是关于Spring框架在3.X版本的编程技术和应用。 因此,我将围绕Spring框架3.X版本所涵盖的技术知识点进行详细解释。 Spring框架...

Global site tag (gtag.js) - Google Analytics