加载xml映射文件的Spring方法
因此,我有一个外部xml映射文件,它将加载到我的spring boot应用程序中,并存储在缓存映射中 我知道我可以这样做:加载xml映射文件的Spring方法,xml,spring,Xml,Spring,因此,我有一个外部xml映射文件,它将加载到我的spring boot应用程序中,并存储在缓存映射中 我知道我可以这样做: public void loadConfiguration() { InputStream stream = ClassLoader.getSystemClassLoader().getResourceAsStream("model.xml"); DocumentBuilderFactory dbFactory = DocumentBuilderFactor
public void loadConfiguration() {
InputStream stream = ClassLoader.getSystemClassLoader().getResourceAsStream("model.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(stream);
doc.getDocumentElement().normalize();
// parse it and add to a Hashmap
既然我使用的是Spring Boot,那么有没有合适的Spring方法呢?特别是将xml文件作为输入流加载 使用Spring资源抽象,例如,前面的答案是合适的,但我也可以这样做,因为通过创建一个包含各种其他方法的类,我想声明并调用它,我可以在代码的其他区域注入对象并调用方法
@Component
public class ConfigManager {
private final String xmlFile = "something.xml";
@Autowired
public ConfigManager(ResourceLoader loader) {
InputStream is = loader.getClassLoader().getResourceAsStream(xmlFile);
// do something
}
}
作为spring应用程序一部分的spring类/对象ResourceLoader将通过自动关联注释注入构造函数。考虑到我的xml文件也在我的包中,这段代码将在启动时运行并初始化自己