analytics

Mostrando entradas con la etiqueta java.util.Properties. Mostrar todas las entradas
Mostrando entradas con la etiqueta java.util.Properties. Mostrar todas las entradas

jueves, 29 de diciembre de 2016

Fichero configuración Java properties


Fichero configuración Java properties



A veces nos hemos encontrado con la necesidad de crear un fichero de propiedades que permita modificar las mismas una vez desplegada la aplicación. Imaginemos que creamos una aplicación que se conecta a un servidor para realizar una operación y por motivos de seguridad, ese servidor cambia de vez en cuando los datos de acceso (algo común). El fichero properties permitirá modificar parámetros de configuración sin necesidad de volver a tocar el código, recompilar, volver a colocar el ejecutable en su sitio, etc...



Las ventajas de su uso son precisamente:

  1. - Permite modificar parámetros sin tener que volver a tocar el código ni recompilar
  2. - Permite utilizar una misma aplicación para entornos distintos con distintas configuraciones
  3. - Permite a usuarios no experimentados con la programación, poder modificar los parámetros a través de un fichero legible. "user-friendly"
Así pues, por ejemplo, podemos utilizarlo de la siguiente manera



import java.util.Properties;

public class TestConfig{

    public static void main(String[] args) {
        Properties properties = new Properties();
        try {
            properties.load(TestConfig.class.getResourceAsStream("config.properties"));
            System.out.println(properties.getProperty("log.properties"));
        } catch (IOException ex) {            
         ex.printStackTrace();
        }

    }
}

Donde nuestro fichero de propiedades se llamará "config.properties"

properties.load(TestConfig.class.getResourceAsStream("config.properties"));


Y una de sus propiedades puede ser "log.properties". Lo que hacemos aquí es simplemente leer la propiedad del fichero de propiedades cuya etiqueta es "log.properties"

System.out.println(properties.getProperty("log.properties"));


Donde nuestro fichero de properties se construye mediante el patrón 
etiqueta=valor 
* Nota: Las etiquetas pueden organizarse en subetiquetas mediante un punto "."
El valor no debe sobrepasar una línea

Por ejemplo, nuestro fichero de properties, "config.properties"podría ser este


database.ip=192.168.0.99
database.port=2456
database.schema=Schema
database.user=db_user
socket.timeOut=60000
server.listenport=3500
log.properties=log4j.properties


En definitiva, un mecanismo muy simple para tener un fichero de propiedades que permita a nuestra aplicación ser mucho más genérica y facilitar su mantenimiento.