Tôi có một ứng dụng Khởi động mùa xuân sẽ chạy trong các môi trường khác nhau và dựa trên môi trường nó chạy, nó sẽ kết nối với một cơ sở dữ liệu khác. Tôi có một vài application.properties
file, một cho từng môi trường mà trông giống như ví dụ:Cài đặt Spring Boot application.properties dựa trên Biến môi trường
application-local.properties
:
spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://localhost:5432/mydb
spring.datasource.username=dbuser
spring.datasource.password=123456789
application-someserver.properties
:
spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://someserver:5432/myproddb
spring.datasource.username=produser
spring.datasource.password=productionpass
vv vv
Trên mỗi tôi môi trường, tôi có một biến môi trường được gọi là MYENV
được đặt thành loại môi trường, ví dụ phong phú local
hoặc someserver
(tên của các tệp application-{env}.properties
khớp hoàn toàn với tên môi trường).
Làm cách nào để khởi động lò xo để đọc biến môi trường này và tự động chọn tệp .properties
đúng? Tôi không muốn phải làm toàn bộ -Dspring.profiles.active=someserver
vì cách gói này được triển khai (nó sẽ không chạy như một cái bình).
có thể có một "mặc định" cấu hình sao cho trong biến env không phù hợp với bất kỳ tập tin, một tiêu chuẩn được chọn? –
'spring.profiles.active = $ {MYENV: defaultValue}' –
Ngoài ra, hãy đặt cấu hình mặc định và thông thường thành 'application.properties'. Nó luôn luôn sẽ được sử dụng nhưng với ưu tiên thấp hơn đối với cấu hình cụ thể hồ sơ –