3
我有一个bean,它有一个File
类型的属性。我希望该属性最终指向WEB-INF下的文件。WEB-INF中的spring资源
在我看来,ServletContextResourceLoader
应该有这个工作,但不管怎样,但我没有尝试似乎做的工作。
我试图避免在Java代码中使用类似this的东西。
我有一个bean,它有一个File
类型的属性。我希望该属性最终指向WEB-INF下的文件。WEB-INF中的spring资源
在我看来,ServletContextResourceLoader
应该有这个工作,但不管怎样,但我没有尝试似乎做的工作。
我试图避免在Java代码中使用类似this的东西。
如果该属性必须保持为“文件”类型,那么你将不得不跳过一些箍。
如果可能的话,将bean更好地重构为Resource
属性会更好,在这种情况下,您可以将资源路径作为字符串注入,Spring将为您构造ServletContextResource
。然后您可以使用Resource.getFile()
方法获得File
。
public class MyBean {
private File file;
public void setResource(Resource resource) {
this.file = resource.getFile();
}
}
<bean class="MyBean">
<property name="resource" value="/WEB-INF/myfile">
</bean>
哦,我期待春天有,将采取通过资源究竟你的食谱到文件默认的资源编辑器。傻我。 我可以接受你的建议,尽管它随后在jetty-maven-plugin中迅速遇到了一些麻烦,这是另一个问题的补充。 – bmargulies 2010-07-11 22:43:51
@bmargulies:如果您尝试将一个字符串值注入到'File'属性中,那么Spring将直接使用'new File(String)'将其直接转换为'File',这不是您所需要的。 – skaffman 2010-07-11 22:51:23