Dalam Spring Boot, fail application.properties mengandungi tetapan konfigurasi untuk aplikasi. Apabila aplikasi berjalan pada persekitaran yang berbeza (tempatan, Jenkins, OpenShift), ia selalunya dikehendaki untuk melaraskan tetapan ini secara dinamik. Satu pendekatan untuk mencapai ini ialah dengan menggunakan pembolehubah persekitaran.
Untuk menetapkan pembolehubah persekitaran, cipta pembolehubah persekitaran sistem secara setempat dan dalam Jenkins VM. Pastikan pembolehubah ini mempunyai nama dan nilai yang sama seperti yang digunakan dalam OpenShift. Contohnya:
export OPENSHIFT_MYSQL_DB_HOST="jdbc:mysql://localhost" export OPENSHIFT_MYSQL_DB_PORT="3306" export OPENSHIFT_MYSQL_DB_USERNAME="root" export OPENSHIFT_MYSQL_DB_PASSWORD="123asd"
Untuk menggunakan pembolehubah persekitaran dalam application.properties, cuma masukkan pembolehubah tersebut menggunakan sintaks ${VARIABLE_NAME}. Contohnya:
spring.datasource.url = ${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/"nameofDB" spring.datasource.username = ${OPENSHIFT_MYSQL_DB_USERNAME} spring.datasource.password = ${OPENSHIFT_MYSQL_DB_PASSWORD}
Nota: Ia juga mungkin untuk mencipta pembolehubah persekitaran menggunakan objek Spring Environment, tetapi seperti yang dicadangkan oleh @Stefan Isele, menggunakan penggantian pembolehubah langsung dalam application.properties ialah pendekatan yang lebih mudah.
Alternatif untuk menggunakan pembolehubah persekitaran ialah menggunakan Spring profil. Dengan pendekatan ini, anda boleh mencipta berbilang fail application.properties, setiap satu disesuaikan dengan persekitaran tertentu. Spring akan memuatkan fail yang sesuai secara automatik berdasarkan nilai sifat spring.profiles.active, yang boleh ditetapkan sebagai pembolehubah persekitaran atau melalui argumen baris perintah. Contohnya, anda boleh mencipta fail application-local.properties, application-jenkins.properties dan application-openshift.properties. Dalam kes ini, anda akan menetapkan pemboleh ubah OPENSHIFT_MYSQL_DB_HOST dan spring.profiles.active=openshift apabila menggunakan OpenShift.
Dengan menggunakan profil, anda boleh mengelak daripada mendedahkan bukti kelayakan pangkalan data atau maklumat sensitif lain dalam pembolehubah persekitaran, kerana ia adalah hanya digunakan untuk mengkonfigurasi profil aktif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pembolehubah Persekitaran untuk Mengkonfigurasi Aplikasi But Spring Saya dalam Persekitaran Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!