spring boot 는 profflee 를 사용 하여 파 티 션 설정 을 합 니 다.
5790 단어 springbootprofile배치 하 다.
많은 경우 에 저희 프로젝트 는 개발 환경 과 생 성 환경의 환경 설정 이 다 릅 니 다.예 를 들 어 데이터 베이스 설정,개발 할 때 저 희 는 보통 테스트 데이터 베 이 스 를 사용 합 니 다.생산 환경 에서 저 희 는 정식 데 이 터 를 사용 합 니 다.이때 저 희 는 profflee 를 이용 하여 서로 다른 환경 에서 서로 다른 프로필 이나 서로 다른 설정 을 사용 할 수 있 습 니 다.
spring boot 는 이름 약속 을 통 해 일정한 형식(application-{profile}.properties)에 따라 여러 프로필 을 정의 한 다음 application.properties 에서 spring.profiles.active 를 통 해 하나 이상 의 프로필 을 구체 적 으로 활성화 할 수 있 습 니 다.profile 설정 파일 이 지정 되 지 않 았 다 면,spring boot 는 기본적으로 application-default.properties 를 시작 합 니 다.
profile 의 프로필 은 application.properyies 의 배치 위치 에 따라 다음 네 개의 위치 에 놓 을 수 있 습 니 다.
현재 디 렉 터 리 의"/config"하위 디 렉 터 리 아래현재 디 렉 터 리 아래
우 리 는 application.properties 에 도 쓰 고 profflee 를 application-cus1.properties 의 프로필 로 전환 합 니 다.
cusvar=cus3
spring.profiles.active=cus1
이렇게 해서 테스트 할 수 있어 요.
@RestController
@RequestMapping("/task")
public class TaskController {
@RequestMapping(value = {"/",""})
public String hellTask(@Value("${cusvar}")String cusvar ){
return "hello task !! myage is " + cusvar;
}
}
여기 서 spring.profiles.active 가 활성화 하 는 profile 에 따라 인쇄 된 결과 도 다 릅 니 다.프로필 의 프로필 로 우리 의 환경 변 수 를 구분 할 수 있 는 것 을 제외 하고 코드 에서 우 리 는@Profile 주석 으로 직접 설정 할 수 있 습 니 다.예 를 들 어 데이터베이스 설정,여기 서 우 리 는 먼저 인 터 페 이 스 를 정의 합 니 다.
public interface DBConnector {
public void configure();
}
각각 두 개의 실현 유형 을 정의 하여 그것 을 실현 하 다.
/**
*
*/
@Component
@Profile("testdb")
public class TestDBConnector implements DBConnector {
@Override
public void configure() {
System.out.println("testdb");
}
}
/**
*
*/
@Component
@Profile("devdb")
public class DevDBConnector implements DBConnector {
@Override
public void configure() {
System.out.println("devdb");
}
}
설정 파일 에서 어떤 구현 클래스 를 사용 하 는 지 활성화 합 니 다.
spring.profiles.active=testdb
그리고 이렇게 쓸 수 있어 요.
@RestController
@RequestMapping("/task")
public class TaskController {
@Autowired DBConnector connector ;
@RequestMapping(value = {"/",""})
public String hellTask(){
connector.configure(); // testdb
return "hello task !! myage is " + myage;
}
}
spring.profiles.active 를 제외 하고 하나 이상 의 profile 을 활성화 하 는 동시에 spring.profiles.include 로 profile 을 중첩 할 수 있 습 니 다.
spring.profiles: testdb
spring.profiles.include: proddb,prodmq
spring boot 설정 의 Profile 사용profflee 는 Spring 이 서로 다른 환경 에 서로 다른 설정 기능 을 제공 하 는 지원 으로 활성화 할 수 있 습 니 다.
지정 한 매개 변수 등 방식 으로 환경 을 빠르게 전환 합 니 다.
1.다 중 프로필 파일 형식
형식:application-{profile}.properties
spring:
profiles: dev
server:
port: 8081
---
spring:
profiles: uat
server:
port: 8082
---
spring:
profiles: prod
server:
port: 8083
3.활성화 방식
1.기본 설정 파일 application.properties 에 spring.profiles.active=dev 를 지정 합 니 다.
application.properties
# application-dev.properties
spring.profiles.active=dev
application-dev.properties
server.port=8081
2.명령 행
java -jar ch02-springboot-config-profile-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
3.가상 컴퓨터 매개 변수 상용"VM options"에-Dspring.profiles.active=dev 추가
4.“Program atguments”
"Program atguments"에 Cspring.profiles.active=dev 추가
4.위치 별 프로필 우선 순위
SpringBoot 시작 시 다음 위치 에 있 는 application.properties/application.yml 파일 을 SpringBoot 의 기본 설정 파일 로 검색 합 니 다.
아래 그림 의 우선 순 위 는 1C>2C>3C>4 이지 만 1 과 2 는 가방 에 들 어가 지 않 습 니 다.
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin Springboot -- 파트 14 사용 사례 REST로 전환하여 POST로 JSON으로 전환前回 前回 前回 記事 の は は で で で で で で を 使っ 使っ 使っ て て て て て リクエスト を を 受け取り 、 reqeustbody で 、 その リクエスト の ボディ ボディ を を 受け取り 、 関数 内部 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.