spring expression read file content

99封情书 提交于 2019-12-18 12:34:11

问题


How to use spring expression to read file content and put it into a string?

I would like to do the following.

For example,

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

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

Or even better

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

However, none of above code work.

Just to mention I am using spring version 3.2.0

Thanks.


回答1:


Finally got the answer myself...

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

sql is now default filled by the exact content of myquery.sql under classpath




回答2:


There is a similar question answered here which use Java configuration.

@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);
        }
    }
}


来源:https://stackoverflow.com/questions/14639209/spring-expression-read-file-content

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!