Site icon

TypeSafe config & HOCON + Read JSON properties in java (example)

TypeSafe Config Maven dependency:

<dependency>
    <groupId>com.typesafe</groupId>
    <artifactId>config</artifactId>
    <version>1.3.0</version>
</dependency>

Property file in HOCON/JSON format (reference.conf file)

userInfo {
	name=Mike
	age = 30
	roles = [
		guest
		read-only
	]	
}
database {
 user=admin
 password=admin
}
//Read environment variable
java_directory = ${?JAVA_HOME}

Program to read HOCON or JSON property file in java

We are loading reference.conf using ConfigFactory.load()

package org.learn.application;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;

public class Application {
	private static final Logger logger = LoggerFactory.getLogger(Application.class);
	private static final Config config = ConfigFactory.load();
	public static void main(String[] args) {
		
		logger.info("Start Reading HOCON file:");

		logger.info("UserName={}",config.getString("userInfo.name"));
		logger.info("age={}",config.getInt("userInfo.age"));
		logger.info("Array of roles={}",config.getStringList("userInfo.roles"));
		
		logger.info("Database userName={}",config.getString("database.user"));
		logger.info("Database password={}",config.getString("database.password"));
		
		//Read environment variable
		if(config.hasPath("java_directory")) {
			logger.info("Java installed directory={}",config.getString("java_directory"));
		}
		
		logger.info("End reading HOCON file");
	}
}

Output – Read HOCON or JSON config file in java

2016-07-06 21:09:58,754	[INFO] org.learn.application.Application [main] Start Reading HOCON file:
2016-07-06 21:09:58,759	[INFO] org.learn.application.Application [main] UserName=Mike
2016-07-06 21:09:58,760	[INFO] org.learn.application.Application [main] age=30
2016-07-06 21:09:58,761	[INFO] org.learn.application.Application [main] Array of roles=[guest, read-only]
2016-07-06 21:09:58,761	[INFO] org.learn.application.Application [main] Database userName=admin
2016-07-06 21:09:58,761	[INFO] org.learn.application.Application [main] Database password=admin
2016-07-06 21:09:58,761	[INFO] org.learn.application.Application [main] Java installed directory=C:\Program Files\Java\jdk1.8.0_60
2016-07-06 21:09:58,761	[INFO] org.learn.application.Application [main] End reading HOCON file

 

Download Code – TypeSafe/Config HOCON Java Application

 

Exit mobile version