spring表达式读取文件内容

时间:2013-02-01 03:23:51

标签: spring spring-el fileutils

如何使用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版本

感谢。

2 个答案:

答案 0 :(得分:19)

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

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

现在,sql默认由classpath

下的myquery.sql的确切内容填充

答案 1 :(得分:4)

有一个类似的问题回答here使用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);
        }
    }
}