使用Spring将文本文件直接注入到String中

2024-01-26

所以我有这个

@Value("classpath:choice-test.html")
private Resource sampleHtml;
private String sampleHtmlData;

@Before
public void readFile() throws IOException {
    sampleHtmlData = IOUtils.toString(sampleHtml.getInputStream());
}

我想知道的是是否可以不使用 readFile() 方法并使用文件内容注入sampleHtmlData。如果不是,我就只能忍受这个,但这将是一个很好的捷径。


从技术上讲,您可以使用 XML 以及工厂 bean 和方法的尴尬组合来做到这一点。但是当您可以使用 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, StandardCharsets.UTF_8);
        }
    }
}

请注意,我还关闭了从返回的流sampleHtml.getInputStream()通过使用尝试资源成语。否则你会出现内存泄漏。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Spring将文本文件直接注入到String中 的相关文章

随机推荐