2011-10-18 6 views
4

우리는 Spring 구성 파일 또는 .properties 파일을 사용하여 데이터베이스 연결과 같은 일부 특성을 저장하고 검색 할 수 있습니다. (등 DB의 URL, DB 암호와)Java, Spring 구성의 클래스 특성 설정 Vs 시스템 특성 파일

우리는 또한 스프링 설정 파일을 사용할 수 있습니다, 우리가

하는 것이 무엇 (개미처럼)을 .property 파일의 속성을 참조 어디 .properties 파일을 함께 파일 장점 또는 단점 :

1 - .properties 파일 만 사용.
2 - 스프링 구성 파일 만 사용.
3 - 함께 사용하기.

유지 관리와 관련하여 어떤 시나리오가 더 좋을까요?

세 가지 중에서 선택해야하며 옵션을 선택하기 전에 더 나은 판단을하고 싶습니다.

미리 감사드립니다.
- Ivar

답변

6

두 가지 모두. 프로젝트를 외부화 할 수있는 특성 파일을 사용하여 Spring을 구성하십시오. 그런 다음 Spring은 프로젝트를 구성한다. 주로 속성 파일에서 읽을 코드를 작성하지 않습니다. Spring이이를 관리하고 객체에 적절한 값을 주입하도록합니다. 그런 다음 적절한 종속성 주입 기능을 제공하며 빌드하는 아티팩트는 특정 환경이 아닙니다.

단점 :

  1. 어떻게 당신의 코드에서 속성을로드 할 어떤 파일을 알고 있나요? 그게 재산이 아닌가? 코드를 수동적으로 받아들이 기보다는 자원을 찾도록함으로써 의존성 주입을 위반했습니다.
  2. 구성이 이슈에 밀접하게 결합되어 있으며 재 구축 (BAD)하지 않고 환경간에 변경할 수 없습니다.
  3. 당신이 생각하는 방식대로, 이것은 다른 두 가지의 단점을 결합합니다. 그러나 내가 설명한대로하면, 단점이 제거되어 이점이 있습니다.
+2

조합의 또 다른 이점은 Spring 구성 파일에 리터럴 값을 유지하는 것이 성가시다는 것입니다. 스프링 XML은이 목적을 위해 너무 복잡합니다. 환경 파라미터 값을 가진'.properties' 파일은 훨씬 더 읽기 쉽고 유지 보수가 용이합니다. Spring에서 값을 삽입하는 또 다른 작은 이점은 Spring의 내장형 변환 기능입니다. – millimoose