spring表达式读取文件内容

Tim*_*hiu 7 spring spring-el fileutils

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

我想做以下几点.

例如,

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

@Value("#{org.apache.commons.io.FileUtils.readFileToString(f)}")
String sql;
Run Code Online (Sandbox Code Playgroud)

甚至更好

@Value("#{FileUtils.readFileToString(classpath:myquery.sql)}")
String sql;
Run Code Online (Sandbox Code Playgroud)

但是,上述代码都不起作用.

只是提到我使用的是Spring 3.2.0版

谢谢.

Tim*_*hiu 21

终于得到了答案...

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

现在,sql默认由classpath下的myquery.sql的确切内容填充


Eva*_* Hu 5

这里回答了一个类似的问题,它使用 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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)