Эквивалент 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