Hướng dẫn sử dụng environment variable trong Spring Boot

Spring Boot Starters & Common Configurations

1. Tổng quan

Hôm nay mình sẽ hướng dẫn mọi người cách sử dụng environment variable trong Spring Boot và sẽ có những bạn đọc tiêu đề bài này của mình sẽ hỏi là environment variable này được dùng để làm gì. Mình xin được giải thích sơ qua việc vì sao nên sử dụng environment variable như sau đó là mọi chuyện sẽ không có khó khăn gì nếu bạn chỉ code và chạy ứng dụng ở trên máy của mình khi đó ta chỉ cần sử dụng một loại cơ sở dữ liệu như là mysql, sqlserver, … bạn sẽ có thể cấu hình file application.properties chỉ để sử dụng một loại cơ sở dữ liệu đó. Và cả khi bạn deploy ứng dụng cả mình lên heroku hay bất kỳ server nào khác điều đó có nghĩa là bạn sẽ phải sử dụng một cơ sở dữ liệu khác trên server, khi đó nếu chúng ta không sử dụng environment variable thì mỗi khi chúng ta deploy ứng dụng chạy trên server lại phải chỉnh sửa cấu hình file application.properties thành cấu hình của cơ sở dữ liệu trên server và khi chạy trên local thì lại phải sửa về cơ sở dữ liệu của máy mình điều này làm cho chúng ta tốn khá nhiều thời gian trong việc code. Vì vậy mình sẽ hướng dẫn mọi người dùng biến môi trường để giải quyết vấn đề này.

2. Env trong SpringBoot

  • Trước tiên chúng ta sẽ tạo một file có tên là local.env để sử dụng trên máy mình
  • Và trong application.properties chúng ta cấu hình như sau:
  • Và trong file local.env vừa tạo chúng ta sẽ gán các giá trị cho các biến bên trong ${:}
  • Vậy là chúng ta đã cấu hình xong biến môi trường và để chạy trên local các bạn file tải thêm plugin EnvFile. Trong Intellij bạn chọn file -> setting -> plugins -> tìm EnvFile -> install
  • Sau khi cài đặt xong plugin chúng ta sẽ làm như trong hình sau đó chọn edit configuration:
  • Và ở giao diện tiếp theo chúng ta sẽ chọn thẻ EnvFile và chọn dấu cộng để thêm file local.env vừa tạo
  • Sau đó ta nhấn ok, vậy là ta đã có thể sử dụng được biến env trong spring boot

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *