Java 앱에서 하드 코딩 된 구성 경로를 피하기 위해 ResourceBundle을 어떻게 사용합니까?

StackOverflow https://stackoverflow.com/questions/154728

  •  03-07-2019
  •  | 
  •  

문제

Java 앱의 구성 데이터를위한 하드 코딩 경로에 대한 종속성을 제거하고 싶습니다. ResourceBundle을 사용하면 클래스 로더를 사용하여 리소스를 찾는 데 도움이 될 것입니다.

ResourceBundle의 적절한 사용과 함께 자원으로 하드 코딩 된 경로 (클래스에서 필요한 .properties 구성 데이터 파일)를 어떻게 대체 할 것인지 알려줄 수 있습니까? 가능한 경우 간단한 명확한 예, 감사합니다.

도움이 되었습니까?

해결책

Java 6 이전에 ResourceBundle은 일반적으로 다음과 같습니다.

Java 6은 다음과 함께 제공됩니다 ResourceBundle.control 예를 들어 다른 ResourceBundles 소스의 문을 열어주는 클래스는 다음과 같습니다.

  • XML 파일 (Javadoc의 예 2 참조)
  • 데이터베이스 행

도움이 되었기를 바랍니다.

다른 팁

당신은 검사하고 싶을 것입니다 Resource.getBundle (String). ClassPath의 자격을 갖춘 리소스 이름을 전달하여 속성 파일로로드합니다.

ResourceBundle이 필요하지 않습니다. 간단한 속성 객체는 작업을 수행 할 수 있습니다. 클래스 로더를 사용하여 속성 파일에 대한 입력 스트림을 가져 와서 DE 값을로드하는 데 사용하십시오. 보다 정교한 사용자 구성을 처리 해야하는 경우 선호도 API.

친절한 안부

Resource.getBundle (..)의 비결은 클래스 로더를 사용하는 것입니다. this.getClass (). getClassLoader ()를 통해 액세스하여 클래스 경로의 모든 것을로드 할 수 있습니다. Resource.getBundle (..)은 리소스/위치 주제에서이를 사용하는 실용적인 도우미입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top