2013-02-01 18 views
5

Come utilizzare l'espressione molla per leggere il contenuto del file e inserirlo in una stringa?espressione primaverile leggere il contenuto del file

Mi piacerebbe fare quanto segue.

Per esempio,

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

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

O ancora meglio

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

Tuttavia, nessuno di lavoro codice di cui sopra.

solo per citare Sto usando la versione 3.2.0 primavera

Grazie.

risposta

17

finalmente ottenuto la risposta me stesso ...

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

SQL è ora predefinita riempito dal contenuto esatto di myquery.sql sotto classpath

+0

Potente !! Segna la tua risposta come accettata;) – Stephan

3

C'è una domanda simile risposto here che utilizzano la configurazione di 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); 
     } 
    } 
} 
Problemi correlati