Như M. Deinum đề cập trong nhận xét của mình, cách đơn giản nhất để thực hiện việc này là sử dụng profile specific configuration.
Khởi động mùa xuân cho phép bạn có một tệp cấu hình chung (application.properties
) và sau đó nhiều tệp khác, mỗi tệp cụ thể cho một cấu hình (application-${profile}.properties
).
Ví dụ:
application.properties
- Common cấu hình
application-dev.properties
- Cấu hình cho cấu hình dev
application-ci.properties
- Cấu hình cho các cấu ci
Nếu ứng dụng của bạn chạy với "ci" hồ sơ ví dụ, tệp cấu hình mặc định cũng như tệp cấu hình ci (có chứa dữ liệu Các thuộc tính cấu hình ource cho ci profile) sẽ được tải.
Để chuyển hồ sơ bạn có thể sử dụng một trong các tùy chọn sau:
- tài sản JVM:
-Dspring.profiles.active=ci
- chuyển đổi dòng lệnh:
--spring.profiles.active=dev
Đối với các bài kiểm tra đơn vị bạn có thể sử dụng @ActiveProfiles("test")
chú thích trên của bạn các lớp kiểm tra để cho Spring biết rằng các bài kiểm tra đơn vị nên được chạy với cấu hình kiểm tra.
Ngoài ra nếu bạn không muốn để lưu trữ thông tin cơ sở dữ liệu sản xuất cùng với mã nguồn của bạn, bạn có thể chỉ định tập tin cấu hình bên ngoài khi bạn triển khai ứng dụng trong sản xuất:
- Sử dụng dòng lệnh chuyển đổi:
--spring.config.location=/srv/myapp/config.properties
- Sử dụng một tài sản JVM:
-Dspring.config.location=/srv/myapp/config.properties
Nguồn
2015-01-18 16:15:41
mà xây dựng công cụ mà bạn đang sử dụng? –
Tiểu sử. Spring Boot sẽ tải mặc định 'application.properties' và, khi được chỉ định, cũng là một profile cụ thể. Điều này được giải thích [ở đây] (http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config-profile-specific-properties) trong tài liệu. –
@MasterSlave maven – xenoterracide