是否可以使用spring将数据从属性文件加载到xml文件?如果有,任何人都可以给出一个例子吗?
这是xml:
<cluster balancer="load"
dialect="net.sf.hajdbc.dialect.MySQLDialect"
default-sync="full"
transaction-mode="parallel"
auto-activate-schedule="0 * * ? * *"
failure-detect-schedule="0 * * ? * *"
meta-data-cache="none">
<database id="database1">
<driver>***</driver>
<url>***</url>
<user>***</user>
<password>***</password>
</database>
这是数据源
database.driver=***
database1.url=***
database1.username=***
database1.password=***
答案 0 :(得分:3)
你不需要Spring。您需要做的是使用getProperty()提取属性。一个例子如下:
File propertiesFile = ...
Properties properties = new Properties();
FileInputStream fis = new FileInputStream(propertiesFile);
properties.load(fis);
String databaseDriver = properties.getProperty("database.driver");
String database1Url = properties.getProperty("database1.url");
String database1Username = properties.getProperty("database1.username");
(为了简单起见,我省略了例外情况)
并使用Java API for XML创建XML文件。如何开始创建XML的示例如下:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = factory.newDocumentBuilder();
Document document = documentBuilder.newDocument();
Element rootElement = document.createElement("database");
document.appendChild(rootElement);
...
google“java create xml”或类似内容,了解如何根据需要创建xml。
答案 1 :(得分:0)
如果它是Spring属性文件,则它已经是XML。如果您愿意,可以使用标准的Java XML解析库来阅读它。 http://www.mkyong.com/tutorials/java-xml-tutorials/有各种各样的方法可以做到这一点。
答案 2 :(得分:0)
是否可以在不使用spring?
的情况下将属性文件中的数据加载到xml文件中
是的,但前提是你要编写一大堆Java代码:
除了Spring之外,我不知道这个问题的任何通用解决方案。
实际上,我不确定你是否可以使用Spring 完全这个。
Spring DI布线具有替换完整bean属性值(PropertyOverrideConfigurer
)或嵌入在属性值(PropertyPlaceholderConfigurer
)中的占位符的机制。但是,POC和PPC对Spring bean定义中声明的bean属性值进行操作。您的示例中的内容看起来像纯XML ...而不是Spring bean声明。