Pregunta

¿Existe un equivalente de Java para la configuración de la aplicación .NET?

Si no es así, ¿existe una forma estándar de mantener la configuración de la aplicación para que pueda cambiarla después de que se haya distribuido una aplicación?

¿Fue útil?

Solución

Para WebApps, web.xml se puede usar para almacenar la configuración de la aplicación.

Aparte de eso, puede usar Propiedades clase para leer y escribir archivos de propiedades.

También puede consultar el Preferencias , que se utiliza para leer y escribir las preferencias del sistema y del usuario. Es una clase abstracta, pero puede obtener objetos apropiados usando userNodeForPackage (ClassName.class) y systemNodeForPackage (ClassName.class) .

Otros consejos

Para poner la sugerencia de @ Powerlord (+1) de usar la clase Properties en el código de ejemplo:

public class SomeClass {
    public static void main(String[] args){
        String dbUrl = "";
        String dbLogin = "";
        String dbPassword = "";     
        if (args.length<3) {
            //If no inputs passed in, look for a configuration file
            URL configFile = SomeClass.class.getClass().getResource("/Configuration.cnf");
            try {
                InputStream configFileStream = configFile.openStream();
                Properties p = new Properties();
                p.load(configFileStream);
                configFileStream.close();

                dbUrl      = (String)p.get("dbUrl");
                dbLogin    = (String)p.get("dbUser");
                dbPassword = (String)p.get("dbPassword");               
            } catch (Exception e) {  //IO or NullPointer exceptions possible in block above
                System.out.println("Useful message");
                System.exit(1);
            }
        } else {
            //Read required inputs from "args"
            dbUrl      = args[0];
            dbLogin    = args[1];
            dbPassword = args[2];           
        }
        //Input checking one three items here
        //Real work here.
    }
}

Luego, en la raíz del contenedor (por ejemplo, la parte superior de un archivo jar) coloque un archivo Configuration.cnf con el siguiente contenido:

#Comments describing the file
#more comments
dbUser=username
dbPassword=password
dbUrl=jdbc\:mysql\://servername/databasename

Esta sensación no es perfecta (me interesaría escuchar mejoras) pero es lo suficientemente bueno para mis necesidades actuales.

La forma más simple es simplemente tener un archivo de propiedades, por ejemplo, myapp.properties, con todas sus configuraciones. No es una forma muy avanzada de hacer configuraciones, pero es suficiente, o puede tener su propia configuración basada en XML, o obtenerlos de una base de datos, etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top