spring 配置资源路径时候,classpath:/,classpath:,不带前缀的区别

/**
 * spring 配置资源路径时候,classpath:/,classpath:,不带前缀的区别,
 * 其实没区别,spring 规定 "classpath:" pseudo-URL,伪url路径,在处理这种路径前缀
 * 时候,会把这个伪url去掉。
 * @author doctor
 *
 * @time   2014年12月2日 下午6:28:12
 */
public class DefaultResourceLoaderPractice {
	@Test
	public void test_defaultResourceLoader()throws Throwable{
		DefaultResourceLoader defaultResourceLoader = new DefaultResourceLoader();
		Resource resource = defaultResourceLoader.getResource("springCorePractice/classPathResource.txt");

		System.out.println(resource.getFile());
	}

	@Test
	public void test_defaultResourceLoader_classpath()throws Throwable{
		DefaultResourceLoader defaultResourceLoader = new DefaultResourceLoader();
		Resource resource = defaultResourceLoader.getResource("classpath:springCorePractice/classPathResource.txt");

		System.out.println(resource.getFile());
	}
	@Test
	public void test_defaultResourceLoader_classpath_1()throws Throwable{
		DefaultResourceLoader defaultResourceLoader = new DefaultResourceLoader();
		Resource resource = defaultResourceLoader.getResource("classpath:/springCorePractice/classPathResource.txt");

		System.out.println(resource.getFile());
	}
}

/home/xxx/workspace-sts-3.6.0.RELEASE/doctor/springmvc-practice/target/test-classes/springCorePractice/classPathResource.txt

/home/xxx/workspace-sts-3.6.0.RELEASE/doctor/springmvc-practice/target/test-classes/springCorePractice/classPathResource.txt

/home/xxx/workspace-sts-3.6.0.RELEASE/doctor/springmvc-practice/target/test-classes/springCorePractice/classPathResource.txt

时间: 2024-10-18 11:02:45

spring 配置资源路径时候,classpath:/,classpath:,不带前缀的区别的相关文章

Spring 配置资源Resource

Java中,不同来源的资源抽象成URL,通过注册不同的handler(URLStreamHandler)来处理不同来源的资源的读取逻辑.一般handler的类型使用不同的前缀(协议,protocal)来识别,如:"file:"."http:"."jar:"等. 对于Spring,URL没有定义相应的,如"classpath:"的handler,定义也相对麻烦,Spring对配置文件的读取做了相应的封装,通过Resource接口

springboot内置tomcat配置虚拟路径

在Springboot中默认的静态资源路径有:classpath:/METAINF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,从这里可以看出这里的静态资源路径都是在classpath中(也就是在项目路径下指定的这几个文件夹) 试想这样一种情况:一个网站有文件上传文件的功能,如果被上传的文件放在上述的那些文件夹中会有怎样的后果? 网站数据与程序代码不能有效分离: 当项目被打包成一个.jar文件部署时

Spring boot 默认静态资源路径与手动配置访问路径的方法

这篇文章主要介绍了Spring boot 默认静态资源路径与手动配置访问路径的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在application.propertis中配置 ##端口号 server.port=8081 ##默认前缀 spring.mvc.view.prefix=/ ## 响应页面默认后缀 spring.mvc.view.suffix=.html # 默认值为 /** spring.mvc.static-path-pattern=/** # 这里设置要指向的路径,多个

spring classpath & classpath*

classpath-找到系统类路径下的第一个匹配的配置文件 classpath*-找到系统类路径下的所有符合要求的配置文件 参考资料:http://www.micmiu.com/j2ee/spring/spring-classpath-start/ <!-- myBatis配置. classpath和classpath*的区别,参考文档:http://blog.csdn.net/zl3450341/article/details/9306983. classpath只会返回第一个匹配的资源,建议

tomcat配置虚拟路径,供用户访问静态资源

tomcat配置虚拟路径,供用户访问静态资源 在实际开发中,后台需要提供给用户访问静态资源,而且该静态资源不是在tomcat中,即不是在web目录下,那么用户是不能访问的,这时,需要配置tomcat服务器的虚拟路径.可以这样理解这个虚拟路径,就是相当于把该路径映射成一个web工程,这样这些静态资源就相当于在web路径下了,用户也就可以访问了. 简单的配置如下:tomcat安装目录/conf/server.xml      在最后面可以看到Host标签,在该标签中增加一个Context标签如下即可

spring mvc 资源映射配置

在springmvc配置文件中添加 <mvc:resources location="/css/" mapping="/css/**"/> <mvc:resources location="/js/" mapping="/js/**"/> - mapping代表映射路径 - location代表文件路径(必须是webapp根目录下的路径才行) - cache-period代表浏览器缓存时间 当我们用前端

Spring配置DataSource数据源

在Spring框架中有如下3种获得DataSource对象的方法: 1.从JNDI获得DataSource. 2.从第三方的连接池获得DataSource. 3.使用DriverManagerDataSource获得DataSource. 一.从JNDI获得DataSource SpringJNDI数据源配置信息: <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean&qu

Spring讲解-----------资源(resource)

4.1.1  概述 在日常程序开发中,处理外部资源是很繁琐的事情,我们可能需要处理URL资源.File资源资源.ClassPath相关资源.服务器相关资源(JBoss AS 5.x上的VFS资源)等等很多资源.因此处理这些资源需要使用不同的接口,这就增加了我们系统的复杂性:而且处理这些资源步骤都是类似的(打开资源.读取资源.关闭资源),因此如果能抽象出一个统一的接口来对这些底层资源进行统一访问,是不是很方便,而且使我们系统更加简洁,都是对不同的底层资源使用同一个接口进行访问. Spring 提供

Spring的资源详解

一.Spring的资源详解 1.1引言 在日常程序开发中,处理外部资源是很繁琐的事情,我们可能需要处理URL资源.File资源.ClassPath相关资源.服务器相关资源等等很多资源.因此处理这些资源需要使用不同的接口,这就增加了我们系统的复杂性:而且处理这些资源步骤都是类似的(打开资源.读取资源.关闭资源),因此如果能抽象出一个统一的接口来对这些底层资源进行统一访问,是不是很方便,而且使我们系统更加简洁,都是对不同的底层资源使用同一个接口进行访问. Spring提供一个Resource接口来统