spring выражение читать содержимое файла

Как использовать выражение 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;

Однако ни один из приведенных выше кодов не работает.

Просто упомянем, что я использую весеннюю версию 3.2.0.

Спасибо.


person Timmy Chiu    schedule 01.02.2013    source источник


Ответы (2)


Наконец-то получил ответ сам...

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

sql теперь по умолчанию заполняется точным содержимым myquery.sql в пути к классам.

person Timmy Chiu    schedule 04.02.2013

На аналогичный вопрос ответили здесь, которые используют конфигурацию 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);
        }
    }
}
person Evan Hu    schedule 18.01.2015