Вопрос

Существует ли Java-эквивалент для .NET App.Config?

Если нет, существует ли стандартный способ сохранить настройки приложения, чтобы их можно было изменить после распространения приложения?

Это было полезно?

Решение

Для WebApps web.xml может использоваться для хранения настроек приложения.

Кроме этого, вы можете использовать свойства класс для чтения и записи файлов свойств.

Вы также можете посмотреть на Класс настроек , который используется для чтения и записи системных и пользовательских настроек. Это абстрактный класс, но вы можете получить соответствующие объекты, используя userNodeForPackage (ClassName.class) и systemNodeForPackage (ClassName.class) .

Другие советы

Поместить предложение @ Powerlord (+1) об использовании класса Properties в пример кода:

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

Затем в корне контейнера (например, в верхней части файла jar) поместите файл Configuration.cnf со следующим содержимым:

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

Это чувство не идеально (мне было бы интересно услышать улучшения), но достаточно для моих текущих потребностей.

Простой способ - это просто иметь файл свойств, например, myapp.properties, со всеми вашими настройками. Это не очень продвинутый способ настройки, но этого достаточно, или вы можете иметь собственную настройку на основе XML, или получить их из базы данных и т. д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top