Эквивалент Java app.config?
Существует ли Java-эквивалент .NET App.Config?
Если 9X_java-libraries нет, существует ли стандартный способ сохранить 9X_java-se настройки приложения, чтобы их можно было 9X_configuration-files изменить после распространения приложения?
Ответ #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)
.
Ответ #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 для моих текущих потребностей.
Ответ #3
Ответ на вопрос: Эквивалент Java app.config?
Самый простой способ - просто иметь файл 9X_jre свойств, например myapp.properties, со всеми 9X_config-files вашими настройками. Это не очень продвинутый 9X_jdk способ настройки, но его достаточно, или 9X_java вы можете иметь свою собственную настройку 9X_core-java на основе XML, или получить их из базы данных 9X_configuration-files и т. д.
-
2
-
5
-
4
-
3
-
3
-
2
-
14
-
12
-
2
-
3
-
5
-
3
-
1
-
4
-
3
-
7
-
5
-
4
-
4
-
7
-
5
-
6
-
4
-
3
-
8
-
5
-
6
-
7
-
4
-
3
-
4
-
7
-
4
-
2
-
24
-
9
-
2
-
4
-
2
-
2
-
1
-
7
-
1
-
3
-
2
-
4
-
2
-
3
-
3
-
2