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