2013-02-01 14 views
5

फ़ाइल सामग्री को पढ़ने और इसे एक स्ट्रिंग में रखने के लिए वसंत अभिव्यक्ति का उपयोग कैसे करें?वसंत अभिव्यक्ति फ़ाइल सामग्री

मैं निम्नलिखित करना चाहता हूं।

उदाहरण के लिए,

@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

धन्यवाद का उपयोग कर रहा हूं।

उत्तर

17

अंत में जवाब अपने आप मिल गया ...

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

एसक्यूएल अब classpath

+0

शक्तिशाली !! अपना उत्तर स्वीकृत के रूप में चिह्नित करें;) – Stephan

3

तहत myquery.sql की सटीक सामग्री द्वारा भरा डिफ़ॉल्ट है एक ऐसी ही सवाल here जो जावा विन्यास का उपयोग जवाब नहीं है।

@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); 
     } 
    } 
} 
संबंधित मुद्दे