`
我想我是海
  • 浏览: 215320 次
社区版块
存档分类
最新评论

Spring 中使用资源

阅读更多
        在Web应用中如果自已的程序里面需要用到外部资源文件(配置文件),一般会把配置文件放在classes下面或WEB-INF下面。如果加载这结文件的话通常有两种办法。一是写绝对路径,这是最不推荐的方法。二是引入ServletContext,从相对路径中获得绝对路径。写相对路径的时候使用ServletContext是免不了的,我的应用服务器是Tomcat,使用相对路径找文件都是在Tomcat的Bin文件夹下面找,所以我只能用ServletContext来找。后来,为了使程序能脱离Servlet容器运行,就引入了Spring的资源管理机制。
       Spring为资源管理提供了一个Resource接口,并提供了几个Resource的实现。它们都需要一个String表示的资源的实际位置。依据这个String,Spring将会自动为你选择正确的Resource实现。
       下面一段代码,我为了得到一个资源的位置,定义了个属性,一个是file代表文件的路径(相对或绝对),一个是Resouce接口的属性。在Spring的任何Context中都可以通过设置Resource的属性来得到资源的位置。
       private String file;

    private Resource resource;

    public void setResource(Resource resource) {
        this.resource = resource;
        try {
            this.file = resource.getFile().getAbsolutePath();
        } catch (IOException e) {
            e.printStackTrace();
            throw new RuntimeException(e.getMessage());
        }
    }

    public void setFile(String file) {
        this.file = file;
    }

   
       Spring配置文件如下:
       <bean id="mybean" class="net.jf.mybean">
            <property name="resource">
                <value>/WEB-INF/config.xml</value>
            </property>
        </bean>   
    上面的例子是在WebApplicationAContext中的。Spring会根据Context的运行环境决定去哪里加载资源。如果是Application程序。即使用类似ClassPathXmlApplicationContext这样的Context,Spring则会使用ClassPathSource来代表资源。将会在程序运行时的ClassPath中寻找资源。但要注意一点。Spring目前能找到的资源是在FileSystem中的。而不能找到Jar包里面的资源,就算你的资源的确在ClassPath当中。这一点在JavaDoc里有说明。我又是在犯是同样的错误后才想到去查找文档。。。嘿。教训啊。
    这些只是很粗浅的用法。记下来以备忘 。。如果有不正确或不妥当的地方还望指正。:)
    
分享到:
评论

相关推荐

    狂神spring-security静态资源.zip

    这个"狂神spring-security静态资源.zip"文件很可能包含了Spring Security的相关教程、代码示例或配置文件,帮助用户理解和学习如何在Spring应用中实现安全控制。下面我们将深入探讨Spring Security的核心概念、功能...

    狂神Spring Security静态资源

    3. **使用Spring Security的访问决策管理器(AccessDecisionManager)**:如果你希望控制哪些角色可以访问静态资源,可以实现自己的访问决策管理器,然后在配置中指定使用这个管理器。 4. **使用HTTP基本认证或OAuth2...

    spring osgi相关资源

    Spring OSGi是Spring框架与OSGi(Open Service Gateway Initiative)规范相结合的一种技术,它...通过学习和掌握Spring DM Server的使用以及Spring OSGi的相关库,开发者可以更好地在OSGi环境中构建和管理Spring应用。

    spring-security静态资源

    在讨论“spring-security静态资源”这个主题时,我们将深入探讨Spring Security如何处理Web应用中的静态资源,如JavaScript、CSS、图片等。 1. **静态资源的安全访问** Spring Security 提供了一种机制来保护静态...

    SpringSecurity静态资源.rar

    6. **使用Spring Boot**:在Spring Boot应用中,Spring Security与Spring Boot的静态资源处理机制集成良好。通过`spring.security.filter.static-resources-locations`属性,可以指定静态资源的位置,并自动处理权限...

    Spring中使用classpath加载配置文件浅析

    如果当前线程的ClassLoader无法获取到资源,Spring会转而使用加载org.springframework.util.ClassUtils类的ClassLoader。 在Spring加载配置文件时,我们需要注意几个关键点: 1. **不使用通配符**:当配置文件路径...

    Spring Framework 6 中文文档

    Spring Framework 是Java开发中的核心框架,它以其强大的功能和易用性成为了许多开发者首选的工具。Spring Framework 6.0.8-SNAPSHOT 的中文文档是针对这一最新版本的详尽指南,旨在解决中文互联网上关于Spring框架...

    狂神说SpringSecurity静态资源.rar

    总的来说,"狂神说SpringSecurity静态资源.rar"的资料可以帮助我们深入理解如何在SpringSecurity中管理和保护静态资源,同时也可能涵盖了SpringSecurity的基本认证、授权流程,以及相关的最佳实践。通过学习这些内容...

    spring资源访问

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

    Spring的约束资源

    在Spring框架中,"约束资源"通常指的是对应用程序中各种组件的行为进行规范和限制的机制。这涵盖了诸如数据验证、依赖注入的约束以及资源管理等多个方面。Spring为开发者提供了丰富的工具和API,使得我们可以构建...

    spring依赖资源包

    除此之外,资源包中可能还包含了其他第三方库,如数据库驱动、Apache Commons库、log4j等,这些都是Spring项目常用的依赖。 在实际开发中,我们可以使用Maven或Gradle等构建工具来管理和解决这些依赖,它们会自动...

    springcloud 资源大全

    4. **视频教程**:资源包中的视频教程可能是逐步指导如何使用SpringCloud、Vue.js以及PigX进行实际开发的,通过观看这些教程,你可以直观地了解每个技术的用法,提升实战技能。 5. **学习书籍**:书籍通常会提供更...

    Spring框架高级源码笔记+Spring Boot data mongoDB中文文档 资源合集

    Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。 给新入门IT人员...

    spring-framework-4.3.16.RELEASE-dist

    最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,...

    spring jar资源包

    spring jar资源包,包括:spring-aop.jar,spring-beans.jar,spring-context.jar,spring-core.jar,spring-dao-2.0-m1.jar,spring-hibernate.jar,spring-jdbc.jar,spring-mock.jar,spring-orm.jar,spring-...

    SpringBatch+Spring+Mybatis+MySql (spring batch 使用jar)

    Spring Batch可以提供大量的,可重复的数据处理功能,包括日志记录/跟踪,事务管理,作业处理统计工作重新启动、跳过,和资源管理等重要功能。 业务方案: 1、批处理定期提交。 2、并行批处理:并行处理工作。 3、...

    spring学习资源

    学习spring资源书籍,第三版讲解的很全面,包括springmvc的整合

    spring资源访问的一个例子

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

    spring 源码中文注释

    总的来说,"spring 源码中文注释"是一个宝贵的资源,它将带领我们走进Spring的内部世界,揭示那些在日常开发中看似透明的机制。通过学习源码,我们可以更全面地掌握Spring框架,提升自己的技术水平,更好地应对各种...

    spring security 使用数据库管理资源

    标题 "spring security 使用数据库管理资源" 指的是在Spring Security框架中,通过数据库来存储和管理权限与资源的相关配置。这一做法使得安全控制更为灵活,可以动态地更新和扩展系统的访问控制。Spring Security是...

Global site tag (gtag.js) - Google Analytics