java - 从 Spring bean 获取目录路径?

标签 java spring resources

我有一个看似简单的问题。我有一个部署在 Tomcat 中的 Spring Web 应用程序。在服务类中,我希望能够将一个新文件写入应用程序根目录下名为 graphs 的目录:

/
   /WEB-INF
   /graphs/
   /css/
   /javascript/

我的服务类是一个 Spring bean,但我无法通过 HttpServlet 机制直接访问 ServletContext。我也尝试过实现 ResourceLoaderAware,但似乎仍然无法掌握我需要的东西。

如何使用 Spring 获取应用程序中目录的句柄,以便我可以向其中写入文件?谢谢。

最佳答案

@全部

这些答案的问题是它们变得陈旧,或者以多种方式做事的信息在当时并不明显。就像您可能正在使用的那台旧 Atari 计算机一样(咧嘴笑),事情可能已经改变了!

您可以简单地将 ServletContext @Autowired 放入您的 bean 中:

@Service
class public MyBean {
    @Autowired ServletContext servletContext=null;

    // Somewhere in the code
    ...
    String filePathToGraphsDir = servletContext.getRealPath("/graphs");

}

关于java - 从 Spring bean 获取目录路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2496544/

相关文章:

java - 更改 HTML 对话框的样式 (CSS)

java - 由 : java. lang.UnsupportedOperationException: null Lombok with List 引起

带有 Spring MVC 的 Springfox Swagger2 - 404 错误

mysql - 使用 AWS X-Ray 在 Spring 中检测 Mysql Jpa Repository 不工作

memory - ImageMagick 使用超过 2GB 的内存来转换 PDF 文件

java - 用java加载图像占用了我太多的资源..有什么方法可以让我的程序看起来很漂亮?

c++ - 如何改进我的脚本并在构建时复制程序资源?

java - JPA JoinTable 与过滤列的 OneToMany 关系

java - 如何停止/中断 servlet 处理程序?

spring - 为什么大多数人为了创建服务而创建接口(interface)?