Frage

Gibt es eine Java-äquivalent zu .NET der App.Config?

Wenn nicht, ist es eine Standardmethode Sie Anwendungseinstellungen zu halten, so dass sie geändert werden können, nachdem eine App verteilt wurde?

War es hilfreich?

Lösung

Für WebApps kann web.xml verwendet werden Anwendungseinstellungen zu speichern.

Other than that, können Sie die Eigenschaften verwenden Klasse lesen und Eigenschaften von Dateien zu schreiben.

Sie können auch auf der Voreinstellungen Klasse, die verwendet wird, um System- und Benutzereinstellungen zu lesen und zu schreiben. Es ist eine abstrakte Klasse, aber Sie können entsprechende Objekte mit den userNodeForPackage(ClassName.class) und systemNodeForPackage(ClassName.class) erhalten.

Andere Tipps

@ Vorschlag des Powerlord setzen (+1) der Properties Klasse in Beispiel Code verwendet:

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.
    }
}

Dann wird bei der Wurzel des Behälters (beispielsweise oben in einer JAR-Datei) eine Datei mit Configuration.cnf mit folgendem Inhalt:

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

Dieses Gefühl ist nicht perfekt (ich würde mich interessieren Verbesserungen zu hören), aber gut genug für meine aktuellen Bedürfnisse.

Der einfache Weg ist, einfach habe eine Eigenschaftendatei, zum Beispiel myapp.properties, mit allen Einstellungen in. Es ist nicht eine sehr fortgeschrittene Art und Weise Einstellungen zu tun, sondern es genügt, oder Sie können Ihre eigenen XML-basierten Setup haben, oder erhalten sie aus einer Datenbank, etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top