이 같은 파일에서 구성 매개 변수를 읽어야 자바 프로그램이 있습니다자바 : 상수에 액세스 할 수 있도록 어디서나
java -jar myapp.jar --config config.txt ...
일단, 이러한 매개 변수를 변경하지 않고 프로그램의 모든 클래스에 접근 할 수 있어야한다로드를 .
이 매개 변수를없이 생성자 및 메서드에 매개 변수로 명시 적으로 추가하지 않고도 액세스 할 수 있습니까? 예를 들어 다음과 같이 할 수 있습니다.
public class Main {
public static void main(String[] args){
// This list should be visible by any class
List<String> CONFIGS= readMyConfigsFromFile(args[0]);
...
}
}
public class MyClass(){
public MyClass(){
String thisConf= CONFIGS.get(0); // Do something with this conf param taken from Main.
...
}
}
public class MyOtherClass(){
public MyOtherClass(){
String thisConf= CONFIGS.get(0); // Do something with this conf param taken from Main.
...
}
}
...
이 모든 작업이 가능합니까? 그리고 그것은 할 수있는 권위있는 설정입니까? 그렇지 않다면 그것에 대해 권장 할만한 디자인은 무엇입니까?
는 (I 비슷한 질문을 읽었지만 내가 설명하는 상황에서 가능한 방법 경우 난 아직 확실 해요) 당신은 싱글 톤 패턴을 사용할 수
https://www.mkyong.com/java/java- properties-file-examples/ –
예. 클래스의 정적 인, 선호하는 마지막 필드를 구성합니다. https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html. 이렇게하면 유닛 테스트에 대한 코드 작성이 어려워지고 의존성 삽입을 사용하거나 생성자에서 전달하는 것이 좋습니다. –
@Jonathan Portorreal 귀하의 링크가 여기 관련이 없다고 생각합니다. 나는 설정 파일을 읽는 법을 안다. 내가 가진 문제는 어디서나 콘텐츠를 볼 수있게 만드는 방법입니다. – dariober