所以我有这个
@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(使用前将#替换为@)