spring 프로필 다중 환경 설정 관리 상세 정보

spring 프로필 다중 환경 설정 관리
현상
만약에 개발할 때 데이터베이스 테스트를 한다면 테스트 데이터베이스에 연결하여 개발 데이터베이스에 대한 영향을 피하기를 바랍니다.
   개발 시 일부 설정, 예를 들어log4j 로그의 등급은 생산 환경과 다르다.
각종 이런 수요는 나로 하여금 개발 환경을 간단하게 전환하는 좋은 방법이 있기를 바란다.
해결하다
  는 현재spring3.1도 우리에게 프로필을 가져다 주어 환경을 편리하고 신속하게 전환할 수 있다.
조미료는 사용하기에도 매우 편리하다.응용 프로그램Context에서만xml에 다음 내용을 추가하면 됩니다.

<!--   -->
  <beans profile="test">
    <context:property-placeholder location="/WEB-INF/test-orm.properties" />
  </beans>

  <!--   -->
  <beans profile="local">
    <context:property-placeholder location="/WEB-INF/local-orm.properties" />
  </beans>

프로필의 정의는 반드시 문서의 맨 아래에 있어야 합니다. 그렇지 않으면 이상이 있을 수 있습니다.전체 xml의 구조는 대략 이렇다

<beans xmlns="..." ...> 
 <bean id="dataSource" ... /> 
 <bean ... /> 
 <beans profile="..."> 
  <bean ...> 
 </beans> 
</beans>
프로필 활성화
  spring은 우리에게 대량의 프로필을 활성화하는 방법을 제공했다. 코드를 통해 활성화할 수도 있고 시스템 환경 변수, JVM 매개 변수, servlet 상하문 매개 변수를 통해spring을 정의할 수도 있다.profiles.active 매개변수는 JVM 매개변수를 정의하여 profile을 활성화합니다.
1. ENV 방식:

ConfigurableEnvironment.setActiveProfiles("test")
2, JVM 매개변수 방식:
  tomcat 중catalina.bat(.sh에서 "set"을 사용하지 않음) JAVA_ 추가OPS.active 설정을 통해 다른 프로필 선택

set JAVA_OPTS="-Dspring.profiles.active=test"
eclipse에서tomcat을 시작합니다.프로젝트 오른쪽 키 run as C>run configurationC>ArgumentsC>VMarguments에 추가합니다.local 프로필은 Git 추적 관리를 업로드할 필요가 없습니다.

-Dspring.profiles.active="local"
3、web.xml 방식:

<init-param>
 <param-name>spring.profiles.active</param-name>
 <param-value>production</param-value>
</init-param>
4. 마크업 방식(junit 단위 테스트는 매우 실용적):

@ActiveProfiles({"unittest","productprofile"})
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기