9

スプリング式を使用してファイルの内容を読み取り、文字列に入れる方法は?

私は次のことをしたいと思います。

例えば、

@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を使用しています

ありがとう。

4

2 に答える 2

24

最後に自分で答えを得た...

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

sql は、クラスパスの下の myquery.sql の正確な内容によってデフォルトで埋められるようになりました

于 2013-02-04T01:54:35.530 に答える
4

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);
        }
    }
}
于 2015-01-18T16:14:57.687 に答える