gpt4 book ai didi

spring-mvc - Spring 框架中的文件系统资源

转载 作者:行者123 更新时间:2023-12-03 16:25:02 25 4
gpt4 key购买 nike

我正在尝试在我的 Spring MVC 项目中检索 xml 文件(包含 bean 定义)。如果我在 WEB-INF 目录下有 xml 文件,那么我应该将什么路径放入我的 servlet 中的 FileSystemResource 以检索 xml?

i.e. BeanFactory factory = new XmlBeanFactory(new FileSystemResource("xml"));

谢谢

最佳答案

你不应该使用 FileSystemResource,你应该使用 ServletContextResource:

new ServletContextResource(servletContext, "/myfile.xml");

当然,假设您可以使用 servletContext。

如果您真的想使用FileSystemResource,那么您需要询问容器目录在哪里,并将其用作相对路径,例如

String filePath = servletContext.getRealPath("/myfile.xml");
new FileSystemResource(filePath);

不过,让 Spring 为您完成工作会更容易。假设您有一个需要此 Resource 的 bean。您可以将资源路径作为字符串注入(inject),然后让 Spring 将其转换为资源,例如

public class MyBean {

private Resource myResource;

public void setMyResource(Resource myResource) {
this.myResource = myResource;
}
}

在你的 beans 文件中:

<bean id="myBean" class="MyBean">
<property name="myResource" value="/path/under/webapp/root/of/my/file.xml">
</bean>

Spring 会将资源路径转换为 ​​ServletContextResource 并将其传递给您的 bean。

关于spring-mvc - Spring 框架中的文件系统资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2378595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com