2015-10-21 38 views
5

Tôi có vài thuộc tính trong một tệp thuộc tính mà tôi muốn kế thừa các thuộc tính ứng dụng. Xin vui lòng cho biết nếu đó là có thể trong khởi động mùa xuân.Spring boot application.properties mở rộng một tệp thuộc tính khác

cái gì đó như

application.properties 
---------------------- 
extends = otherproperty.properties 
property1 = value1 
property2= value2 
property3 = value3 

otherproperty.properties 
------------------------ 
property4=value4 
property5 = value5 

Khi tải ứng dụng khởi động mùa xuân, tôi muốn tất cả 5 thuộc tính nên được nạp và sẵn sàng sử dụng chú thích @value. Khởi động mùa xuân tự động chọn application.properties trong classpath và tôi không có applicaitoncontext xml hoặc bất kỳ mã trình tải thuộc tính nào.

Xin cảm ơn trước.

+0

Bạn có muốn * kế thừa * tập tin một tài sản trong một, hay bạn muốn * merge * họ? Nói cách khác, cả hai tệp thuộc tính có thể chứa thuộc tính 'property6' hay chúng không chồng lấp không? –

+0

Tôi chỉ muốn kế thừa, chúng không trùng lặp. – skumar

Trả lời

3

Đối với tôi việc spring.profiles.include=p1,p2,p3 trong application.properties tập tin

9

Bạn có thể sử dụng Tiểu sử cho điều đó.

Với application.properties file, bạn có thể xác định một tập tin cho mỗi Profile, như thế này:

application.properties # This is the main file 
spring.profiles=p1,p2,p3 
prop-main=hi 

application-p1.properties # This is the file with p1 properties 
property1=patata 

application-p2.properties # This is the file with p2 properties 
property2=catsup 

application-p3.properties # This is the file with p3 properties 
property3=helloworld 

mùa xuân sẽ dịch các tập tin và sử dụng nó như thế này:

application.properties # This is the main file 
spring.profiles=p1,p2,p3 
prop-main=hi 
property1=patata 
property2=catsup 
property3=helloworld 

Giải pháp này hoạt động, nhưng bạn phải giữ một tệp riêng cho từng nhóm.

Có một cách khác, bạn có thể sử dụng một tệp YAML duy nhất thay vì nhiều tệp properties. Chỉ cần thay thế application.properties với một application.yml và làm điều gì đó như thế này:

server: 
    address: 192.168.1.100 
--- 
spring: 
    profiles: development 
server: 
    address: 127.0.0.1 
--- 
spring: 
    profiles: production 
server: 
    address: 192.168.1.120 

Bạn có thể đọc tài liệu tham khảo để biết thêm về Using YAML instead of Properties và khoảng Multi-profile YAML documents.

Các vấn đề liên quan