.NET의 App.Config에 해당하는 Java가 있습니까?Java가 app.config에 해당합니까?
앱을 배포 한 후에 변경할 수 있도록 표준 설정 방법이 없다면 어떻게해야합니까?
.NET의 App.Config에 해당하는 Java가 있습니까?Java가 app.config에 해당합니까?
앱을 배포 한 후에 변경할 수 있도록 표준 설정 방법이 없다면 어떻게해야합니까?
웹 응용 프로그램의 경우 web.xml을 사용하여 응용 프로그램 설정을 저장할 수 있습니다.
이외의 경우 Properties 클래스를 사용하여 특성 파일을 읽고 쓸 수 있습니다.
시스템 및 사용자 기본 설정을 읽고 쓰는 데 사용되는 Preferences 클래스를 볼 수도 있습니다. 추상 클래스이지만 userNodeForPackage(ClassName.class)
및 systemNodeForPackage(ClassName.class)
을 사용하여 적절한 객체를 얻을 수 있습니다.
간단히 말해서 모든 설정이 들어있는 속성 파일 (예 : myapp.properties) 만 있으면됩니다. 설정을하기위한 고급 방법은 아니지만 충분하거나 자체 XML 기반 설정을 가질 수 있습니다.
예제 코드에 Properties
클래스를 사용 Powerlord의 제안 (+1) @ 넣어 :와 파일 Configuration.cnf
을 배치 컨테이너의 루트에,
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 파일의 예를 들어 위) 다음 내용은 :
#Comments describing the file
#more comments
dbUser=username
dbPassword=password
dbUrl=jdbc\:mysql\://servername/databasename
이 완벽하지 느낌을 내 현재의 필요 충분하지만 좋은 (I은 개선을 듣고 관심을 가질 것입니다).
심각하게? 따라서 파일을 스트림 리더로 실행하면 설정을 가져올 수 있습니까? 여러 클래스의 경우에는 전체적으로 사용할 수있는 도우미 클래스와 같은 것이 필요합니까? 자바가 제공 할 수있는 최고의 솔루션입니까? 그냥 아주 순진한 것처럼 보입니다. – tom33pr
이것은 내 필요에 따라 2013 년에 관리 할 수있는 최상의 방법입니다.보다 일반적인 솔루션이 일반적으로 애플리케이션 서버에 포함되어 있다고 생각합니다. "엔터프라이즈 자바 빈즈"라는 문구가 떠오르지 만, 나는 그 환경에서 개인적으로 일한 적이 없다. – Pursuit
첫 번째 옵션에 대한 추가 정보를 제공 할 수 있습니까? "web.xml을 사용하여 응용 프로그램 설정을 저장할 수 있습니까?" 응용 프로그램 설정을'context-param'으로 저장 하시겠습니까? 또는 다른 뭔가요? – theyuv
web.xml에는 몇 가지 유형의 매개 변수를 넣을 수 있지만'context-param '을 사용했을 가능성이 큽니다. 그 이후로 7.5 년이되었으므로 기억이 안납니다. – Powerlord