Spring Profiles cấu hình ứng dụng tùy theo môi trường

Spring Profiles cung cấp một cách để tách biệt các phần trong cấu hình ứng dụng của bạn và làm cho nó chỉ khả dụng trong một số môi trường nhất định. Bất kỳ @Component hoặc @Configuration đều có thể được đánh dấu bằng @Profile để giới hạn khi được tải.

Các bạn hãy xem hình minh họa sau đây là có thể hiểu ngay Spring Profiles.

Chúng ta có thể thấy trong project có rất nhiều file application . Nhưng  chúng đảm nhiệm 1 chức năng khác nhau:

  • application.properties – Phần này bao gồm các chủ đề về cài đặt và đọc thuộc tính và cài đặt cấu hình và tương tác của chúng với các ứng dụng Spring Boot. File này là file mặc định.
  • application-dev.properties
    – Phần này bao gồm các cài đặt dành cho nhóm phát triển.

  • application-qa.properties– Phần này bao gồm các cài đặt dành cho QA và tester.
  • application-prod.properties– Phần này bao gồm các cài đặt cho ứng dụng khi dự ấn đã hoàn thành và vận hành dựa vào cài đạt trong file này.

Trong spring profile các file application-xxxx.properties  name được quy định lấy tên sau dấu “-” của tên file.

vd: application-prod.properties profile sẽ có tên là prod.

 

Để hiểu rõ hơn sau đây mình sẽ minh họa cho các bạn cách  sử dụng Spring profile. Trong minh họa này mĩnh sẽ sử dụng 2 profile là dev và prod.

 

  1. application-dev.properties (profile = “dev” lấy sau dấu “-“)
  2. application-dev.properties (profile = “prod” lấy sau dấu “-“)
  3. Config application.properties.Mục đích là để thông báo cho app là App sẽ sửu dụng profile nào. Ở đây mình sử dụng profile dev.
  4. Test kết quả PROFILE devXây dựng class để lấy thông tin từ profile.
  5. Chạy ứng dụng.
  6. Test kết quả PROFILE prodBây h thử chuyển sang cài đặt của prod (thông thương dùng cho sản phẩm chính thức (bàn dao cho khách hàng)).
  7. Kết quả PROFILE prod
  8. Tổng kêtSpring profile thường được sử dụng rất phổ biến trong các dự án java web. Tính khả chuyển và thay đổi dễ dàng. Kết hợp với GITLAB và docker Nó trở thành vũ khí rất lợi hại cho các developer khi deploy.

 

 

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
x