Question

Existe-t-il un équivalent de Java à App.Config .NET?

Si ce n’est pas le cas, existe-t-il un moyen standard de conserver vos paramètres d’application afin qu’ils puissent être modifiés après la distribution d’une application?

Était-ce utile?

La solution

Pour les WebApps, web.xml peut être utilisé pour stocker les paramètres de l'application.

Sinon, vous pouvez utiliser les Propriétés classe pour lire et écrire des fichiers de propriétés.

Vous pouvez également consulter le Préférences , qui est utilisé pour lire et écrire les préférences du système et de l'utilisateur. Il s'agit d'une classe abstraite, mais vous pouvez obtenir les objets appropriés à l'aide des éléments userNodeForPackage (ClassName.class) et systemNodeForPackage (ClassName.class) .

Autres conseils

Pour mettre la suggestion de @ Powerlord (+1) d'utiliser la classe Propriétés dans l'exemple de code:

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

Ensuite, à la racine du conteneur (par exemple, en haut d'un fichier jar), placez un fichier Configuration.cnf avec le contenu suivant:

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

Cela ne semble pas parfait (je serais intéressé par des améliorations) mais suffisant pour mes besoins actuels.

La méthode la plus simple consiste simplement à disposer d'un fichier de propriétés, par exemple, myapp.properties, avec tous vos paramètres. Ce n'est pas une méthode très avancée pour effectuer les paramètres, mais cela suffit, ou vous pouvez avoir votre propre configuration basée sur XML, ou les obtenir à partir d'une base de données, etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top