이것은 결론적인 대답을 찾을 수없는 쉬운 질문입니다.Properties 대신 ResourceBundle을 사용하지 않는 이유는 무엇입니까?
config.properties
파일에서 문자열 속성 (예 : 준비된 명령문에 대한 검색어)을로드 할 수 있습니다. 연결할 데이터베이스 연결을 가져 가고 싶다고 가정 해 봅시다.
I 파일에서이 정보를 가지고 싶은 경우에, 나는 수업 시간에 다음 바로 할 수있는 :
private static final ResourceBundle BUNDLE = ResourceBundle.getBundle("scheduler");
private static final String DRIVER = BUNDLE.getString("bd.driver");
private static final String CONNECTIONURL =BUNDLE.getString("bd.url");
....
을하지만 그 대신 나는 많은 사람들이 대신 속성을 사용하는 것이 좋습니다 것을 본 적이 그럼 난 것 (내가 정적 클래스를 유지하고 적절한 생성자를 가지고 있지하려는 경우)이 같은과 동일한 기능을 수행 할 : 두 번째 인 경우
static {
prop = new Properties();
try { prop.load(ReportsDB.class.getClassLoader().getResourceAsStream("config.properties"));
} catch (IOException ex) {
Logger.getLogger(ReportsDB.class.getName()).log(Level.SEVERE, null, ex);
throw new RuntimeException(ex);
}
}
private static final String DRIVER = prop.getProperty("bd.driver");
private static final String CONNECTIONURL = prop.getProperty("bd.url");
을 그럼, 왜 나는 ResourceBundle
대신 Properties
의를 사용하지 말아야합니다 더 자세한?
쉬운하지만 덕분에. 내가 수업의 의도 된 목적을 알고 있지만, 그것이 당신의 요구 사항을 충족한다면 왜 그것을 사용하지 않습니까? 느린가? 실패 할 수있는 국경 사건이 있습니까?어쩌면 무의미하지만 다른 이유가 있는지 정말로 알고 싶습니다. –
@ChristianVielma : 코드를 * 한 것처럼 보이게 만들 때, 실제로 다른 것을하려고 할 때입니다. * 적어도 * 이것을 한 곳에서 숨기고 왜하는지에 대해 문서화하십시오 -하지만 이상적으로는 클래스를 사용하여 의도 된대로 사용하면 놀라움이 줄어 듭니다. (귀하의 코드를 읽는 것처럼). –