以前好像使用过,但是很久没用了,结果给忘记了。最近在项目当中因为自己
定义了一个xml文件,测试的时候无所谓,结果当要发布的时候竟然发现无法方
便的获取自己配制的这个文件的相对路径 ,晕。。
但是记得当时解决过这个问题,就是想不起来,在网上查了资料结果就不是写
的一知半解就是写的很乱根本就没有写的明白点的,因自己受过苦,希望给与
那些还在用spring框架但是因无法方便的使用相对路径的人方便。
package test.org.spring.resource;
import java.io.IOException;
import junit.framework.TestCase;
import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; import org.springframework.core.io.Resource;
public class ResourceBeanTest extends TestCase {
public void testResource() throws IOException{ ApplicationContext context=new FileSystemXmlApplicationContext("OperationFile/ResourceTestFile.xml");
ResourceBean d=(ResourceBean)context.getBean("resourceBean"); assertNotNull(d); Resource r=d.getResource(); System.out.println(r.getURL().getPath()); } }
测试文件
spring配制文件
package test.org.spring.resource;
import org.springframework.core.io.Resource;
public class ResourceBean {
private Resource resource;
public Resource getResource() { return resource; }
public void setResource(Resource resource) { this.resource = resource; } }
class代码。
运行一下一切都清楚了。
运行时记得吧包名改掉哦。。
其实看一下Spring源代码当中的恶core部分的Resource接口就知道了
最重要的是他把String形自动的改成了Resource形 。
如果有兴趣知道其中奥妙可以看一下Spring 的源代码
在这里我就不罗嗦了
[该贴被bosslee于2007年08月30日 15:17修改过] [该贴被bosslee于2007年08月30日 15:18修改过]