9

如何使用spring表达式读取文件内容并将其放入字符串中?

我想做以下事情。

例如,

@Value("classpath:myquery.sql")
File f;

@Value("#{org.apache.commons.io.FileUtils.readFileToString(f)}")
String sql;

甚至更好

@Value("#{FileUtils.readFileToString(classpath:myquery.sql)}")
String sql;

但是,以上代码都不起作用。

顺便提一下,我使用的是 Spring 3.2.0 版

谢谢。

4

2 回答 2

24

终于自己得到了答案...

@Value("#{T(org.apache.commons.io.FileUtils).readFileToString(" +
    "T(org.springframework.util.ResourceUtils).getFile('classpath:myquery.sql')" +
    ")}")
String sql;

sql 现在默认由类路径下 myquery.sql 的确切内容填充

于 2013-02-04T01:54:35.530 回答
4

这里回答了一个类似的问题,它使用 Java 配置。

@Configuration
public class Spring {

    @Value("classpath:choice-test.html")
    private Resource sampleHtml;

    @Bean
    public String sampleHtmlData() {
        try(InputStream is = sampleHtml.getInputStream()) {
            return IOUtils.toString(is);
        }
    }
}
于 2015-01-18T16:14:57.687 回答