将文件资源注入 Spring bean

2023-11-27

将一些文件资源注入 Spring bean 的好方法是什么? 现在我自动装配 ServletContext 并使用如下所示。在 Spring MVC 中是否有更优雅的方法?

@Controller
public class SomeController {

    @Autowired
    private ServletContext servletContext;

    @RequestMapping("/texts")
    public ModelAndView texts() {
        InputStream in = servletContext.getResourceAsStream("/WEB-INF/file.txt");
        // ...
    }
}

像这样的东西:

@Controller
public class SomeController {

    private Resource resource;

    public void setResource(Resource resource) {
        this.resource = resource;
    }

    @RequestMapping("/texts")
    public ModelAndView texts() {
        InputStream in = resource.getInputStream();
        // ...
        in.close();
    }
}

在你的bean定义中:

<bean id="..." class="x.y.SomeController">
   <property name="resource" value="/WEB-INF/file.txt"/>
</bean>

这将创建一个ServletContextResource使用/WEB-INF/file.txt路径,并将其注入到您的控制器中。

请注意,您不能使用组件扫描来检测使用此技术的控制器,您需要一个显式的 bean 定义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将文件资源注入 Spring bean 的相关文章

随机推荐

  • 清单合并失败:针对 Android 12 及更高版本的应用需要为“android:exported”指定显式值

    请帮助我解决在尝试通过 android studio 在移动设备上运行时进入我的项目时出现的错误 清单合并失败 面向 Android 12 及更高版本的应用需要为android exported当相应的组件定义了意图过滤器时 看https
  • 使用循环填充空的Python数据框

    假设我想创建一个空数据框并用循环中的值填充它 import pandas as pd import numpy as np years 2013 2014 2015 dn pd DataFrame for year in years df1
  • Html.BeginForm 内的 Ajax.BeginForm

    我有一个用于编辑内容的视图 例如订单 订单有可以任意添加的行项目 所以有一个主视图和嵌套的局部视图 每个部分都应该有一个 ajax 表单 用于调整每个行项目的数量或其他内容 Thus Html BeginForm gt Ship to bl
  • Heroku 上的 Python bcrypt 包给出 AttributeError: 'module' object has no attribute 'ffi'

    我在 Heroku 上的 Flask 应用程序中使用 bcrypt 时遇到问题 当我部署到 Heroku 并转到登录路由时 我收到 500 内部服务器错误 它在本地工作正常 如何让 bcrypt 包在 Heroku 上运行 ERROR in
  • Angular2 rc.4layz路由

    Angular2 rc 4 惰性路由已被弃用 异步路由示例 rc 4 是否有新的惰性路由 异步路由示例 loadChildren应该这样做 path section loadChildren section bundle 我不知道该字符串到
  • 猫鼬 ob​​jectid 到数字

    如何将 ObjectId 转换为数字 在我的应用程序中 我在客户端使用最新的猫鼬版本和主干 我的问题是 ObjectId 最终总是放在引号之间 这会导致我的玉模板和客户端中出现双引号 例如 233453452534 edit 我正在查询 m
  • 如何在没有 _class 属性的情况下将 spring 数据与 couchbase 一起使用

    有没有一种简单的方法可以将 spring data couchbase 与没有的文档一起使用 class属性 在沙发底座上我有类似的东西sampledata bucket username alice created 14732928000
  • CSS 选择器和 jQuery 过滤器之间的区别?

    可以将 CSS 选择器传递给 jQuery 函数 例如 jQuery h1 h2 jQuery 还有一些过滤器 例如 even and odd jQuery tr even 我正在寻找某种区分两者的语法规则 我想也许 jQuery 过滤器总
  • SQL Server中Group By、Having和Where子句的执行顺序?

    当我们使用时 我只是对 SQL 查询的执行顺序感到困惑GROUP BY and HAVING with a WHERE条款 哪个先被处决 顺序是什么 为了 FROM JOINs 确定和过滤行 WHERE行上有更多过滤器 GROUP BY将这
  • gRPC 设置出现问题。出现间歇性 RPC 不可用错误

    我有一个 grpc 服务器和客户端 大部分时间都按预期工作 但偶尔会收到 传输正在关闭 错误 rpc error code Unavailable desc transport is closing 我想知道是不是我的设置有问题 客户端非常
  • 如何创建二维动态长度数组?

    我想创建一个二维数组 而不知道第一维的大小 例如 当我创建数组时 我的行数未知 每一行代表一个帐户 每行退出 4 列 ID 名称 用户 密码 我尝试使用锯齿状数组 但不可能 int jaggedArray new int 3 我也找过Arr
  • 在android上的列表视图下方添加一个按钮

    所以我一直在尝试在android中的列表视图下添加一个按钮 问题是该按钮没有出现
  • 为通过 Azure 函数输出绑定添加到 Azure 队列的消息设置 VisibilityTimeout

    我有一个 TimerTrigger 函数 输出绑定是一个 Azure 队列 这个想法是 计时器每 10 分钟运行一次 它将查看数据库中的视图 并迭代返回的任何行 将它们作为消息添加到队列中 下面是我的示例 TimerTrigger 将消息添
  • 在javascript中初始化和填充多维数组

    我们如何初始化和创建新的多维数组 让我们想象一下 如果我想初始化一个 4x4 多维数组并用 0 填充它 理想情况下 在二维数组中 我们会这样做 let oned array new Array 10 fill 0 将创建大小为 10 的数组
  • 如何使用 Selenium 查找表中的特定行?

    这是一个示例代码 div table class table gradient myPage 因此 productOrderContainer 中的这个表有几列 并且根据某些情况 将有几行 这些行都有几列 一个例子是 例如 我想做的是获取该
  • 在任何应用程序中使用 info.plist 隐藏状态栏

    需要澄清的是 我不想在我自己的应用程序上执行此操作 因此我无权访问源代码 我正在尝试编辑 info plist 或设备上已安装的 app 文件中的任何其他文件 以从应用程序 即 Google Chrome 中删除状态栏 我正在尝试隐藏 Go
  • RDD 在内存中保留多长时间?

    考虑到内存有限 我有一种感觉 spark会自动从每个节点中删除RDD 我想知道这个时间可以配置吗 Spark如何决定何时从内存中驱逐RDD 注意 我不是在谈论rdd cache 我想知道这个时间可以配置吗 Spark 如何决定何时 从内存中
  • 如何在 Tensorflow 中暂停/恢复训练

    这个问题是在保存和恢复文档可用之前提出的 现在我认为这个问题已被弃用 并建议人们依赖官方文档保存和恢复 老问题要点 I got TF工作正常CIFAR教程 我已经改变了 保存的代码train dir 带有检查点的目录和 模型 到已知位置 这
  • 如何使用 javascript aws-sdk 支持 dynamoDB 中的事务?

    我们有一个用 Node js 编写的微服务 并使用 dynamoDB 进行数据存储 值以 json 格式存储在键中 在更新服务调用中 我们获取键的值 更新 json 并保存它 最近 我们遇到了两个调用想要更新同一个键的值的情况 因此 第一次
  • 将文件资源注入 Spring bean

    将一些文件资源注入 Spring bean 的好方法是什么 现在我自动装配 ServletContext 并使用如下所示 在 Spring MVC 中是否有更优雅的方法 Controller public class SomeControl