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"})
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.