ในการพัฒนา Springboot บางครั้งเรามีการกำหนดค่าที่แตกต่างกันเช่นการพิมพ์บันทึกการเชื่อมต่อฐานข้อมูล ฯลฯ การพัฒนาการทดสอบและการผลิตแต่ละสภาพแวดล้อมอาจมีการกำหนดค่าไม่สอดคล้องกัน โชคดีที่ Springboot รองรับการกำหนดค่าการกำหนดค่าของสภาพแวดล้อมที่แตกต่างกันผ่านโปรไฟล์ที่แตกต่างกัน นี่คือการแนะนำสั้น ๆ เกี่ยวกับวิธีการใช้โปรไฟล์เพื่อกำหนดค่าไฟล์การกำหนดค่าของสภาพแวดล้อมที่แตกต่างกันโดยใช้โปรไฟล์ ...
ให้ฉันแนะนำสภาพแวดล้อมการพัฒนาก่อน:
ก่อนอื่นแนะนำการใช้ไฟล์ YML และกำหนดค่าไฟล์คุณสมบัติผ่านโปรไฟล์ที่แตกต่างกัน:
1. ก่อนอื่นเราสร้างไฟล์คุณสมบัติที่เรียกว่า application.yml ดังนี้:
2. จากนั้นเปิดไฟล์และป้อนเนื้อหาต่อไปนี้:
#ตรวจสอบการกำหนดค่าใดที่เปิดใช้งานสำหรับการดีบัก Springboot: Falsespring: โปรไฟล์: active: dev ---#การพัฒนาสภาพแวดล้อมการกำหนดค่าสปริง: โปรไฟล์: devserver: พอร์ต: 8080 ---#การทดสอบสภาพแวดล้อมการกำหนดค่าสปริง: โปรไฟล์: ทดสอบ: พอร์ต: 8081 ---#
การกำหนดค่าที่ง่ายมากไฟล์ application.yml แบ่งออกเป็นสี่ส่วนโดยใช้ชุดของ (---) เป็นตัวคั่น ส่วนแรกคือส่วนการกำหนดค่าทั่วไประบุคุณสมบัติที่เป็นเรื่องธรรมดาสำหรับสภาพแวดล้อมทั้งสาม Spring.profiles.active อธิบายในภายหลัง
สามย่อหน้าต่อไปนี้คือ: การพัฒนาการทดสอบและการผลิตและใช้สปริง profiles เพื่อระบุค่า (dev, ทดสอบและการผลิต) ค่านี้ระบุว่าโปรไฟล์การกำหนดค่าของเซ็กเมนต์นี้ควรใช้ใน
PS: อย่าลืมให้ความสนใจ !! ต้องแน่ใจว่าได้ให้ความสนใจ !! แอตทริบิวต์ทั้งหมดตามด้วยค่าควรคั่นด้วย ":" โดยพื้นที่มิฉะนั้นการกำหนดค่าจะไม่ถูกต้อง !!! การกำหนดค่าจะไม่ถูกต้อง !!! การกำหนดค่าจะไม่ถูกต้อง !!! ฉันตกอยู่ในตอนแรกดังนั้นฉันจะบอกคุณที่นี่ว่าอย่าตกหลุมรักฉัน !!!
หากเราเริ่มต้นในพื้นที่ในการกำหนดค่าทั่วไปเราสามารถตั้งค่าโปรไฟล์ของสภาพแวดล้อมที่จะโทรนั่นคือ Spring.profiles.active = xxx ในส่วนแรก
XXX ข้างต้นคือค่าที่สอดคล้องกับสปริง profiles ของแต่ละสภาพแวดล้อม ผ่านสิ่งนี้คุณสามารถควบคุมไฟล์การกำหนดค่าสภาพแวดล้อมที่เรียกใช้ในเครื่องได้เช่น:
ฤดูใบไม้ผลิ:
โปรไฟล์:
ใช้งาน: dev
สิ่งที่โหลดคือคุณสมบัติของสภาพแวดล้อมการพัฒนา หาก dev ถูกแทนที่ด้วยการทดสอบคุณสมบัติของสภาพแวดล้อมการทดสอบจะถูกโหลดและสิ่งเดียวกันก็เป็นจริงสำหรับการผลิต
PS: หาก Spring.profiles.active ไม่ได้ระบุค่าค่าที่ไม่ระบุ Spring.profiles ไฟล์จะถูกใช้เท่านั้นนั่นคือเฉพาะการกำหนดค่าทั่วไปเท่านั้นที่จะโหลด
หากมีการปรับใช้กับเซิร์ฟเวอร์เราจะพิมพ์ลงในแพ็คเกจ JAR และถึงเวลาที่ต้องเผยแพร่และใช้:
--spring.profiles.active = Test หรือ Pro ควบคุมการกำหนดค่าของสภาพแวดล้อมที่จะโหลด คำสั่งที่สมบูรณ์มีดังนี้:
java -jar xxxxx.jar ---spring.profiles.active = การทดสอบแสดงถึงการกำหนดค่าของการโหลดสภาพแวดล้อมการทดสอบ
java -jar xxxxx.jar ---spring.profiles.active = pro แสดงถึงการกำหนดค่าของสภาพแวดล้อมการผลิต
หลังจากการแนะนำข้างต้นมาเริ่มกันเถอะ ก่อนกำหนดค่าของ Spring.profiles.active to dev และดูผลการพิมพ์บันทึก:
ผ่านการวิเคราะห์บันทึกเราจะเห็นว่าค่าของโปรไฟล์คือ dev มาดูหมายเลขพอร์ตที่พิมพ์ไว้ด้านล่าง
พบว่าหมายเลขพอร์ตคือ 8080 ซึ่งหมายความว่าโหลดการกำหนดค่า DEV;
ลองเปลี่ยนค่าใช้จ่ายเพื่อทดสอบและรีสตาร์ท:
ใช้งานได้กลายเป็นแบบทดสอบ
พอร์ตกลายเป็น 8081 ซึ่งหมายความว่าการกำหนดค่าการทดสอบนั้นโหลด
ถัดไปใช้ไฟล์การกำหนดค่า YML หลายไฟล์เพื่อกำหนดค่าไฟล์คุณสมบัติ:
หากคุณใช้ YML หลายตัวเพื่อกำหนดค่าคุณสมบัติเราสามารถใช้วิธีนี้ได้ ผ่านข้อกำหนดที่ชัดเจนเช่นเดียวกับไฟล์การกำหนดค่าสร้างไฟล์แอปพลิเคชัน-{โปรไฟล์} .yml และวางคุณสมบัติที่ไม่ขึ้นกับสิ่งแวดล้อมลงในไฟล์ application.yml คุณสามารถกำหนดค่าไฟล์คุณสมบัติของหลาย ๆ สภาพแวดล้อมในรูปแบบนี้ระบุค่าของ Spring.profiles.active = profiles ในไฟล์ application.yml เพื่อโหลดการกำหนดค่าของสภาพแวดล้อมที่แตกต่างกัน หากคุณไม่ได้ระบุคุณจะใช้ไฟล์แอ็ตทริบิวต์ Application.yml ตามค่าเริ่มต้นเท่านั้นและจะไม่โหลดการกำหนดค่าของโปรไฟล์อื่น ๆ
กำหนดค่าไฟล์การกำหนดค่าสภาพแวดล้อมหลายไฟล์โดยใช้คุณสมบัติ
หากคุณใช้ Application.properties เพื่อกำหนดค่าสภาพแวดล้อมหลายอย่างหลักการจะเหมือนกับการใช้ไฟล์การกำหนดค่า YML หลายไฟล์ นอกจากนี้ยังใช้แอปพลิเคชัน-{โปรไฟล์} .properties เพื่อควบคุมการกำหนดค่าสภาพแวดล้อมที่โหลด มันจะถูกวางไว้ในแอปพลิเคชันไฟล์ properties สำหรับคุณสมบัติที่ไม่ขึ้นกับสภาพแวดล้อมและโหลดการกำหนดค่าของสภาพแวดล้อมที่แตกต่างกันผ่านค่าของ spring.profiles.active = profiles หากไม่ได้ระบุการกำหนดค่าของ application.properties จะถูกโหลดตามค่าเริ่มต้นและการกำหนดค่าที่มีโปรไฟล์จะไม่ถูกโหลดด้วยการกำหนดค่าด้วยโปรไฟล์
สรุป
ข้างต้นคือไฟล์การกำหนดค่าสำหรับการบูตสปริงโดยใช้โปรไฟล์ให้คุณ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!