【Spring】资源访问 ApplicationContext.getResource

来源:互联网 发布:火妹网络 编辑:程序博客网 时间:2024/06/03 08:21

为了深入理解 Spring 提供的资源访问方法 ApplicationContext.getResource ,这里在Maven project 下做测试,发现两点:

1. ApplicationContext.getResource 默认在工程的一级目录下寻找资源文件。

2. ApplicationContext.getResource 定义的classpath 路径为 src/java(test)/main(resources) 。


测试情况如下:

Test1. 

建立 config.properties 资源文件,放在工程的一级目录下,即与 src/java/main 等包并列,如:

MyMavenProject

|- src/java/main

|-src/java/resources

|-config.properties

测试代码为:

public void testResources(){ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml");Resource resource = ctx.getResource("config.properties");System.out.println(resource.exists());}

打印结果为 true

Test2:

把 config.properties 移动到 src/java/main 下,即

MyMavenProject

|- src/java/main

     config.properties

|-src/java/resources

测试代码不变

打印结果为 false

Test3:

资源文件 config.properties 位置不变,还是放在 src/java/main 下

测试代码修改为:

public void testResources(){ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml");Resource resource = ctx.getResource("classpath:config.properties");System.out.println(resource.exists());}
打印结果为true

Test4:

把 config.properties 移动到 src/java/resources 下,即

MyMavenProject

|- src/java/main

|-src/java/resources

     config.properties

测试代码不变

打印结果为 true

Test5:

把 config.properties 放回工程的一级目录下,即 

MyMavenProject

|- src/java/main

|-src/java/resources

|-config.properties

测试代码不变

打印结果为 false

通过以上五个测试结果,可以得到开篇提出的两个结论。



End .


0 0
原创粉丝点击