스칼라에서 프로퍼티를 처리하는 가장 효율적인 방법이 무엇인지 알고 싶습니다. 나는 gazillion 속성 파일, xml 파일 및 Java의 구성 파일의 다른 유형을 가지고 지쳐서 "스칼라에서 더 효율적으로 그 중 일부를 처리하는"최상의 방법 "이 궁금합니까?스칼라에서 프로퍼티 처리하기
10
A
답변
2
편집 https://github.com/typesafehub/config
ORIGINAL (아마도 매우 유용하지) 형태 보증의 설정은 당신에게 구성을위한 간단하고 강력한 솔루션을 제공합니다 스칼라 코드 자체를 통해 구성 할 수 있습니다. "
스칼라의 런타임 링크는 런타임에 클래스를 스왑 할 수 있도록 허용하며 이러한 언어의 일반적인 철학은 구성보다 관습을 선호하는 경향이 있습니다. 당신이 gazillion 속성 파일을 다루고 싶지 않다면, 그냥 가지고 있지 않아도됩니다.
4
왜 gazillion 속성 파일이 있습니까?
저는 아직 스칼라에서 완벽하게 작동하는 아파치 commons Digester을 사용하고 있습니다. 이는 기본적으로 사용자 정의 XML 문서를 사용자 정의 구성 자 클래스에서 메소드 호출에 매핑하는 매우 쉬운 방법입니다. 일부 구성 데이터 (응용 프로그램 속성과 반대)를 구문 분석하려는 경우 매우 유용합니다.
응용 프로그램 속성의 경우 종속성 주입 프레임 워크 (예 : Spring) 또는 일반 일반 속성 파일을 사용할 수 있습니다. 비록 Scala가 이것의 위에 아무것도 제공하는지, 나는 또한 흥미를 가질 것이다.
2
관련 문제
- 1. null이 아니어야하는 C# 프로퍼티 처리하기
- 2. 스칼라에서 줄 바꿈 문자 처리하기 StdLexical?
- 3. 바운드 프로퍼티 클래스의 다른 프로퍼티 얻기
- 4. delphi 7 Items 프로퍼티
- 5. 개발자 및 프로덕션을위한 프로퍼티
- 6. setter로 파이썬 커스텀 프로퍼티
- 7. struct - C의 프로퍼티 루핑하기
- 8. Grails에서 빈 프로퍼티 이름 얻기
- 9. NHibernate 프로퍼티 매핑 : 컬럼과 공식
- 10. 스칼라에서 Seq.sortBy 확장하기
- 11. 스칼라에서 스크립팅
- 12. UITableViewController에서 처리하기
- 13. iPhone에서 처리하기
- 14. ACTION_SEND 처리하기
- 15. 이벤트 처리하기
- 16. WPF Databinding : 프로퍼티 게터에 의해 던져지는 예외 캐치
- 17. 음속 액티브 및 외래 키 프로퍼티 이름
- 18. 자바 프로퍼티 파일을위한 좋은 저장소 조직 프랙티스
- 19. 오라클 폼 - 프로 시저 잠금 프로퍼티
- 20. 쿼리에 의해 정의 된 Hibernate 엔티티 프로퍼티
- 21. NHibernate Criteria : 프로퍼티 타입에 제약 조건을 추가한다.
- 22. Hibernate 프로퍼티 이름 대문자 화 문제
- 23. Hibernate Lazy Load 프로퍼티 XML 매핑
- 24. 스칼라에서 반복 인수를 전달하려면 어떻게해야합니까? 나는이 기능이있는 경우 스칼라에서
- 25. 스칼라에서 JDOQL 결과 사용
- 26. 스칼라에서 가변 템플릿 에뮬레이트
- 27. 스칼라에서 MapReduce 구현
- 28. 스칼라에서 스트림의 사용 사례
- 29. 스칼라에서 '교착 상태'
- 30. 스칼라에서 재귀 깊이 제한
나는 그 질문에 어떻게 대답하는지 보지 못합니다. 확장 할 수 있습니까? "런타임시 스왑"은 런타임 환경에 동적으로 응답하여 구성을 의미하는 것으로 보입니다. 그러나 DB 암호 나 관리자가 오류 전자 메일을받는 것과 같이 런타임에 알 수없는 많은 구성 매개 변수가 있습니다. 서비스 발견 메커니즘에 대해 이야기 할 수는 있지만, 이는 소규모 프로젝트에 과도한 부담이며 자체 구성 매개 변수를 갖게되므로 문제가 발생합니다. 언젠가는 프로그램에 입력을 제공해야합니다. 키/값 쌍으로 구성하면 속성 파일이 있습니다. – DrGary
환경 별 설정 (실제로 외부화 된 유일한 설정이어야 함)의 경우 다음과 같이 Java와 같은 시스템 등록 정보를 얻을 수 있습니다. val databaseName = System.getProperty ("myapp.db.name"). 그런 다음 시작 스크립트에서이를 구성하고 다음과 같이 런타임에 제공하십시오. java -Dmyapp.db.name = DeeBee MainClass. 비밀번호는 파일에 포함시키지 말아야합니다.하지만 앱을 시작할 때 비밀번호를 물어볼 수도 있습니다. – George
예를 들려 줄 수 있습니까? 이것은 매우 유용하게 들립니다. – Jus12