How to prepare properties in application.properties so in javas side, get like List
server.ip=192.168.0.0
server.login=login1
server.password=password1
server.ip=192.168.0.1
server.login=login2
server.password=password2
originally properties were in xml but want to replace to .properties
<servers>
<server>
<url>https://192.168.0.0</url>
<username>login1</username>
<password>password1</password>
</server>
<server>
<url>https://192.168.0.1</url>
<username>login2</username>
<password>password2</password>
/server>
</servers>
Below example to create .properties file from XML file. This code can be used to read properties key-values from XML file, to be used in the application code.
package xyz.demo;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.InvalidPropertiesFormatException;
import java.util.Properties;
public class XMLToProperties
{
public static void main(String[] args) throws InvalidPropertiesFormatException, IOException
{
String outPropertiesFile = "application.properties";
String inXmlFile = "applicationProperties.xml";
InputStream inStream = new FileInputStream(inXmlFile); //Input XML File
OutputStream outStream = new FileOutputStream(outPropertiesFile); //Output properties File
Properties props = new Properties();
//Load XML file
props.loadFromXML(inStream);
//Store to properties file
props.store(outStream, "Converted from applicationProperties.xml");
//Use properties in code
System.out.println(props.get("input.dir")); //Prints 'c:/temp/input'
}
}
applicationProperties.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>application.properties</comment>
<entry key="input.dir">c:/temp/input</entry>
<entry key="spring.batch.job.enabled">false</entry>
<entry key="spring.main.banner-mode">off</entry>
</properties>
application.properties
#Converted from applicationProperties.xml
#Mon Jul 23 18:15:00 IST 2018
spring.batch.job.enabled=false
input.dir=c\:/temp/input
spring.main.banner-mode=off
More details here: https://howtodoinjava.com/xml/convert-xml-to-properties/