Эквивалент Java app.config?

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

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

26
0
3
Общее количество ответов: 3

Ответ #1

Ответ на вопрос: Эквивалент Java app.config?

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

Помимо 9X_configuration-files этого, вы можете использовать класс Properties для 9X_javax чтения и записи файлов свойств.

Вы также 9X_oraclejdk можете взглянуть на класс Preferences, который используется 9X_config-files для чтения и записи системных и пользовательских 9X_java-api настроек. Это абстрактный класс, но вы можете 9X_java-se получить соответствующие объекты, используя 9X_jre userNodeForPackage(ClassName.class) и systemNodeForPackage(ClassName.class).

18
0

Ответ #2

Ответ на вопрос: Эквивалент Java app.config?

Чтобы поместить предложение @ Powerlord 9X_java-libraries (+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.
    }
}

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

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

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

11
0

Ответ #3

Ответ на вопрос: Эквивалент Java app.config?

Самый простой способ - просто иметь файл 9X_jre свойств, например myapp.properties, со всеми 9X_config-files вашими настройками. Это не очень продвинутый 9X_jdk способ настройки, но его достаточно, или 9X_java вы можете иметь свою собственную настройку 9X_core-java на основе XML, или получить их из базы данных 9X_configuration-files и т. д.

2
0