Akashic Records

Jakarta Common Configuration 본문

오래된글/Java

Jakarta Common Configuration

Andrew's Akashic Records 2018. 4. 7. 23:49
728x90

설치

DownLoad : http://jakarta.apache.org/commons/configuration/index.html

연관 라이브러리

Common Configuration을 사용하기 위해서는 다음의 연관 라이브러리가 설치 되어 있어야 한다.

1. Jakarta Commons-Beanutils

2. Jakarta Commons-Collections

3. Jakarta Commons-Digester

4. Jakarta Commons-Lang

5. Jakarta Commons-Logging


Sample Program

Sample에서 사용하는 Configuration 파일은 다음과 같이 application.properties, config.xml, user.xml 3개이다. xml 파일을 작성하여 저장할 때는 반드시 UTF-8포맷으로 저장 하여야 한다.

application.properties

# written by PropertiesConfiguration

# Tue Dec 27 13:53:27 KST 2005

name = uD6C4uB8E8uAFB8

phone = 02-1234-1234

user.info = ${name} ${phone}


config.xml

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system/>

<properties fileName="application.properties"/>

</configuration>


user.xml

<?xml version="1.0" encoding="UTF-8" ?>

<user-definition>

<address>

<postnumber>123-963</postnumber>

<text>서울특별시 서초구 서초동</text>

</address>

<phone home="123-4567" office="369-8956"/>

<name>

<first>루꾸</first>

<last></last>

</name>

</user-definition>


MainTest.java

package jakarta.common.config;

import java.util.Iterator;

import org.apache.commons.configuration.CompositeConfiguration;

import org.apache.commons.configuration.Configuration;

import org.apache.commons.configuration.ConfigurationException;

import org.apache.commons.configuration.ConfigurationFactory;

import org.apache.commons.configuration.PropertiesConfiguration;

import org.apache.commons.configuration.SystemConfiguration;

import org.apache.commons.configuration.XMLConfiguration;

public class MainTest

{

public static void main(String[] args) throws Exception {

MainTest m = new MainTest();

m.SystemConfigExec();

m.PropertiesExec();

m.PropertiesSave();

m.ConfigFactoryExec();

m.XMLConfigExec();

m.XMLConfigValidationExec();

}

public void SystemConfigExec() throws ConfigurationException {

CompositeConfiguration config = new CompositeConfiguration();

config.addConfiguration(new SystemConfiguration());

Iterator keys = config.getKeys();

String key = "";

while(keys.hasNext()) {

key = (String)keys.next();

System.out.print(key+" : ");

System.out.println(config.getString(key));

}

}

public void PropertiesExec() throws ConfigurationException {

CompositeConfiguration config = new CompositeConfiguration();

config.addConfiguration(new PropertiesConfiguration("application.properties"));

Iterator keys = config.getKeys();

String key = "";

while(keys.hasNext()) {

key = (String)keys.next();

System.out.print(key+" : ");

System.out.println(config.getString(key));

}

}

public void PropertiesSave() throws ConfigurationException {

PropertiesConfiguration config = new PropertiesConfiguration("application.properties");

config.setAutoSave(false);

config.setProperty("name", "후루꾸");

config.setProperty("phone", "02-1234-1234");

config.save();

Iterator keys = config.getKeys();

String key = "";

while(keys.hasNext()) {

key = (String)keys.next();

System.out.print(key+" : ");

System.out.println(config.getString(key));

}

}

public void ConfigFactoryExec() throws ConfigurationException {

ConfigurationFactory factory = new ConfigurationFactory("config.xml");

Configuration config = factory.getConfiguration();

Iterator keys = config.getKeys();

String key = "";

while(keys.hasNext()) {

key = (String)keys.next();

System.out.print(key+" : ");

System.out.println(config.getString(key));

}

}

public void XMLConfigExec() throws ConfigurationException {

XMLConfiguration config = new XMLConfiguration("user.xml");

Iterator keys = config.getKeys();

String key = "";

while(keys.hasNext()) {

key = (String)keys.next();

System.out.print(key+" : ");

System.out.println(config.getString(key));

}

}

public void XMLConfigValidationExec() throws ConfigurationException {

XMLConfiguration config = new XMLConfiguration();

config.setFileName("user.xml");

config.setValidating(true);

config.load();

Iterator keys = config.getKeys();

String key = "";

while(keys.hasNext()) {

key = (String)keys.next();

System.out.print(key+" : ");

System.out.println(config.getString(key));

}

}

}


728x90

'오래된글 > Java' 카테고리의 다른 글

Java 네트워크 - 1  (0) 2018.04.09
Jakarta Commons Logging  (0) 2018.04.07
Introduce Junit4.0  (0) 2018.04.07
HybridJava(HJ) - Beyond the Java Server Pages  (0) 2018.04.07
Character and Byte Streams  (0) 2018.04.07
Comments