여러 환경(로컬, CI/CD, 프로덕션)에서 MySQL을 활용하는 Spring Boot 애플리케이션을 개발할 때, 데이터베이스 자격 증명을 동적으로 처리하는 데 필수적입니다.
문제:
application.properties에서 일반적인 접근 방식은 MySQL 정보를 하드 코딩하는 것입니다. 그러나 각 환경마다 고유한 데이터베이스 구성이 있을 수 있으므로 다양한 환경에서 프로젝트를 실행할 때 문제가 발생합니다.
제안된 솔루션:
이 문제를 해결하려면 각 환경에 적합한 값을 사용하여 시스템 환경 변수를 생성하는 것이 좋습니다. 그런 다음 이러한 환경 변수를 application.properties에서 사용하여 데이터 소스 필드를 동적으로 만들 수 있습니다.
환경 변수 사용 단계:
시스템 환경 변수 생성:
다음과 같은 MySQL용 시스템 환경 변수를 생성합니다. 구성:
application.properties에 환경 변수 통합:
application.properties 내에서 하드 코딩된 값을 환경으로 바꿉니다. 변수:
spring.datasource.url = ${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/"nameofDB" spring.datasource.username = ${OPENSHIFT_MYSQL_DB_USERNAME} spring.datasource.password = ${OPENSHIFT_MYSQL_DB_PASSWORD}
대체 접근 방식:
또 다른 권장 접근 방식은 Spring의 프로필별 속성을 사용하는 것입니다. spring.profiles.active 환경 변수를 선언함으로써 Spring은 활성 프로필을 기반으로 해당 속성 파일을 자동으로 읽을 수 있습니다. 예:
이 접근 방식에서는 application.properties 파일이 변경되지 않고 그대로 유지되지만 환경별 구성은 프로필별 속성 파일에 정의되어 있습니다.
위 내용은 여러 환경에 걸쳐 Spring Boot에서 데이터베이스 자격 증명을 동적으로 관리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!