2016-10-07 8 views
0

얼마 전 나는 모든 구성이 Config 클래스의 상수에 저장되어있는 프로젝트에서 작업하고있었습니다. 나는 이것이 매우 편안하다는 것을 알았습니다 : 쓸 속성을 ​​사용하는 것은 모두 Config.PROPERTY_NAME입니다. 빠르고, 간단하고, 이해할 수 있습니다. CONFIG.getString("StringNameWithoutAutocompletion", defaultValue)보다 훨씬 편안합니다.구성을 상수에 쉽게 저장하는 방법은 무엇입니까?

그러나 새로운 구성 상수를 추가하는 데는 몇 가지 문제가 있습니다. Config 클래스의 기존 상수를 복사하여 (두 번 프로젝트에서) 변경해야합니다. .properties 파일. 또한 나중에 속성 이름을 변경하려면 두 위치 모두에서 지정해야합니다.

그래서 질문이 있습니다. Config 클래스를 매번 수동으로 변경하지 않고도 Config.NAME 속성을 정리할 수 있습니까?

내가 상상할 수있는 해결책 중 하나는 .properties 대신 .java 파일을 사용하고 프로그램로드시 컴파일하는 것입니다.

내가 가장 쉬운 방법은 등록 정보 파일에서 자동으로 Config 클래스 내부 상수를 생성하는 것입니다 생각, 그래서 나는 .properties 파일에 MyProperty을 추가하는 경우, 그것은 즉시 MY_PROPERTY 상수로 사용할 수있게됩니다. Project Lombok과 비슷한 권한을 가진 라이브러리가 있습니까?

답변

1

클래스 (이 경우 Config)에 정의 된 상수를 원하면 클래스를 편집하여 추가해야합니다.

실제로 반복하지 않으려면 속성 파일에서 상수 클래스를 생성 할 수 있지만 속성 파일을 편집 할 때마다 클래스를 다시 생성해야한다는 뜻입니다. 독을 잡아라.

+0

다른 Stackoverflow 질문에서 읽은대로 상수는 속성을 저장하는 적절한 방법입니다. 아무도 그렇게하기위한 해결책을 찾지 못했다고 생각하기는 어렵습니다. 프로퍼티 file_을 편집 할 때마다 클래스를 _regenerate하는 방법을 알고 있다면 알려주십시오. 아마도 프로젝트에서이 프로세스를 자동화 할 수있을 것입니다. 내 IDE에 대한 플러그인을 점검해야한다고 생각합니다. 아마 그 대답이있을 것입니다 ... – user6618770