เนื่องจากคุณจำเป็นต้องเข้าถึง MongoDB สภาพแวดล้อมการพัฒนาในท้องถิ่นไม่สามารถเชื่อมต่อกับ MongoDB โดยตรงคุณต้องใช้พร็อกซี IP ในท้องถิ่น 127.0.0.2 ผ่าน SecureCRT อย่างไรก็ตามหลังจากโปรแกรมถูกนำไปใช้กับสภาพแวดล้อมการผลิตออนไลน์แล้วมันสามารถเข้าถึง MongoDB ได้โดยตรง ดังนั้นหลังจากพัฒนาโปรแกรมคุณจะต้องแก้ไข IP ของเซิร์ฟเวอร์ MongoDB ก่อนที่จะส่งรหัสซึ่งไม่สะดวกมาก
สตริงสุดท้ายคงที่ส่วนตัว pubchat_host = "127.0.0.2"; // สตริงสุดท้ายคงที่ส่วนตัว pubchat_host = "prod_mongo_server_ip";
เนื่องจากไม่ได้ใช้สปริง-สตาร์-สตาร์เทอร์-เมตาบ็อต แต่ใช้ mongo-java-driver เพื่อเข้าถึง mongoDB จึงจำเป็นต้องกำหนดค่าการกำหนดค่าบางอย่างเพื่อเข้าถึง MongoDB ในโปรแกรมเช่นที่อยู่เซิร์ฟเวอร์พอร์ต IP ชื่อฐานข้อมูล ฉีดผ่าน @ConfigurationProperties
คำจำกัดความคลาสเครื่องมือคงที่
คุณสมบัติเป็นแบบคงที่:
สตริงคงที่ส่วนตัว chat_username;
จากนั้นฉีดผ่านวิธีการตั้งค่าที่ไม่คงที่:
@Value ("$ {mongo.config.username}") โมฆะสาธารณะ setchat_username (String chat_username) {mongoconfig.chat_username = chat_username; -ชั้นเรียนอื่น ๆ ได้รับคุณสมบัติผ่านทางสาธารณะ Get Methods:
สตริงคงที่สาธารณะ getChat_username () {return chat_username; -ค่าของคำนำหน้าถูกกำหนดใน application.yml
@ConfigurationProperties (คำนำหน้า = "Mongo.Config") คลาสสาธารณะ Mongoconfig {.....รหัสที่สมบูรณ์ทั้งหมดมีดังนี้:
นำเข้า org.springframework.beans.factory.annotation.value; นำเข้า org.springframework.boot.context.properties.configurationProperties; นำเข้า org.springframework.stereotype.component; /* *** */@Component (value = "Mongoconfig")@configurationProperties (คำนำหน้า = "Mongo.config") คลาสสาธารณะ Mongoconfig {สตริงคงที่ส่วนตัว chat_username; สตริงคงที่ส่วนตัว chat_password; สตริงคงที่ส่วนตัว chat_host; ส่วนตัวคงที่ int chat_port; สตริงคงที่ส่วนตัว chat_dbname; สตริงคงที่ส่วนตัว chat_collprefix; สตริงคงที่สาธารณะ getChat_username () {return chat_username; } @Value ("$ {mongo.config.username}") โมฆะสาธารณะ setchat_username (String chat_username) {mongoconfig.chat_username = chat_username; } สตริงคงที่สาธารณะ getChat_Password () {return chat_password; } @Value ("$ {mongo.config.password}") โมฆะสาธารณะ setchat_password (สตริง chat_password) {mongoconfig.chat_password = chat_password; } สตริงคงที่สาธารณะ getChat_host () {return chat_host; } @Value ("$ {mongo.config.host}") โมฆะสาธารณะ setchat_host (String chat_host) {mongoconfig.chat_host = chat_host; } สาธารณะคงที่ int getChat_port () {return chat_port; } @Value ("$ {mongo.config.port}") โมฆะคงที่สาธารณะ setchat_port (int chat_port) {mongoconfig.chat_port = chat_port; } สตริงคงที่สาธารณะ getChat_dbname () {return chat_dbname; } @Value ("$ {mongo.config.dbname}") โมฆะสาธารณะ setchat_dbname (สตริง chat_dbname) {mongoconfig.chat_dbname = chat_dbname; } สตริงคงที่สาธารณะ getChat_CollPrefix () {return chat_collprefix; } @Value ("$ {mongo.config.collprefix}") โมฆะสาธารณะ setchat_collprefix (สตริง chat_collprefix) {mongoconfig.chat_collprefix = chat_collprefix; -คำจำกัดความไฟล์การกำหนดค่า YML
ใช้โปรไฟล์เพื่อระบุการกำหนดค่าที่แตกต่างกันเพื่อใช้ในสภาพแวดล้อมที่แตกต่างกัน Active ระบุสภาพแวดล้อมที่เปิดใช้งานเช่น dev หรือ prod
ฤดูใบไม้ผลิ: แอปพลิเคชัน: ชื่อ: textml โปรไฟล์: active: dev ---- ฤดูใบไม้ผลิ: โปรไฟล์: dev, default, testmongo: config: ชื่อผู้ใช้: "xxx" รหัสผ่าน: "xxx" โฮสต์: "127.0.0.2" พอร์ต: 10001 dbname: "xxx" colprefix: "xxxx" โฮสต์: "xxxx" พอร์ต: 10001 dbname: "xxxx" colprefix: "xxx"
ทดสอบ
เนื่องจากใช้การกำหนดค่าที่กำหนดเอง MongoDB @springbootapplication (exclude = mongoautoconfiguration.class) ใช้เพื่อแยกการกำหนดค่า MongoDB ที่มาพร้อมกับฤดูใบไม้ผลิ
@springbootapplication (exclude = mongoautoconfiguration.class) แอปพลิเคชันคลาสสาธารณะ {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {springapplication.run (application.class, args); System.out.println ("-ค่า config-username:" + mongoconfig.getchat_username ()); -การอ้างอิง: สปริงบูตตัวแปรสแตติกตัวแปรการกำหนดค่าการกำหนดค่า
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น