是否可以做这样的事情:
<property name="template" value="file:/some/resource/path/myTemplate.txt" />
通过注释而不创建自定义注释并通过反射填充字段?它不能用@Value完成,因为它只适用于字符串......
如果没有,那么处理Spring bean自定义注释并相应地初始化bean的最佳方法是什么?
答案 0 :(得分:26)
使用资源作为字段。
@Value("file:/some/resource/path/myTemplate.txt")
Resource template;
您也可以这样使用classpath:
样式URI。
然后,如果您需要获取文件,请使用template.getFile()
答案 1 :(得分:0)
如果我理解了这个问题,那么您是否尝试设置File类型的字段值?你能用@Value注入文件名,然后在需要时用代码创建File对象吗?
答案 2 :(得分:-1)
@Value( “$ {文件:/some/resource/path/myTemplate.txt}”) 资源模板;
感谢您的回复,高度赞成的答案有“templatePath”,没有任何参考,现在已经更正 - 请参阅评论。
@Value资源使用的Javadoc或官方文档很难在2011年初找到,现在仍然是,找到如何使用classpath,file,url通过@Value spel注入资源: SPEL expressions,File system resources,@Value,@PropertyResource