通过注释填充 Spring Bean 的文件字段

发布于 2024-11-15 18:42:44 字数 244 浏览 1 评论 0 原文

是否可以做这样的事情:

<property name="template" value="file:/some/resource/path/myTemplate.txt" />

通过注释而不创建自定义注释并通过反射填充字段?它不能用 @Value 来完成,因为它只适用于字符串...

如果不是,处理 Spring bean 自定义注释并相应地初始化 bean 的最佳方法是什么?

Is it possible to do something like this :

<property name="template" value="file:/some/resource/path/myTemplate.txt" />

via annotations without creating custom annotation and populate the field via reflection ? It cannot be done with @Value, cause it works only with Strings...

If not, what is the best way to process Spring bean custom annotations and init the bean accordingly ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苍暮颜 2024-11-22 18:42:44

使用资源作为字段。

@Value("file:/some/resource/path/myTemplate.txt")
Resource template;

您也可以通过这种方式使用 classpath: 样式 URI。

然后如果您需要获取文件,请使用 template.getFile()

Use a Resource as the field.

@Value("file:/some/resource/path/myTemplate.txt")
Resource template;

You can use classpath: style URIs this way too.

Then if you need to get a File, use template.getFile()

小伙你站住 2024-11-22 18:42:44

如果我理解这个问题,您正在尝试设置文件类型字段的值?您可以只用 @Value 注入文件名,然后在需要时在代码中创建 File 对象吗?

If I understand the question, you are trying to set the value of a field which is of type File? Could you just inject the file name with the @Value and then create the File object in code when needed?

漆黑的白昼 2024-11-22 18:42:44

@Value("${文件:/some/resource/path/myTemplate.txt}")
资源模板;

感谢您的唤醒,高度评价的答案有“templatePath”,没有任何引用,现在已更正 - 请参阅评论。

@Value 资源使用的 Javadoc 或官方文档在 2011 年初很难找到,现在仍然很难找到如何使用类路径、文件、url 通过 @Value 拼写注入资源:
SPEL 表达式文件系统资源@Value@PropertyResource

@Value("${file:/some/resource/path/myTemplate.txt}")
Resource template;

Thanks for the wake up, the highly upvoted answer had "templatePath" without any references and now stands corrected - see comments.

The Javadoc or official docs for @Value resource usages was hard to find early 2011 and still is, to find how resources can be injected via @Value spel using classpath, file, url:
SPEL expressions, File system resources, @Value, @PropertyResource

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文