บทความนี้แนะนำการรวมรหัสและการเปิดตัว Dubbo Integrated Springboot และแบ่งปันกับคุณดังนี้:
1. เกี่ยวข้องกับ Boot-Dubbo-API
เปิดโครงการ Boot-Dubbo-API สร้างแพ็คเกจภายใต้ SRC/Main/Java และสร้าง Interface TestService.java ที่คุณต้องเปิดเผย Dubbo และสร้างคลาสเอนทิตีเพื่อทดสอบ user.java ดังที่แสดงในรูปด้านล่าง:
สร้างโครงสร้างไฟล์และแพ็คเกจ
user.java
แพ็คเกจ com.boot.domain; นำเข้า lombok.data; นำเข้า java.io.serializable; @datapublic คลาสผู้ใช้ใช้ serializable {ID จำนวนเต็มส่วนตัว; ชื่อผู้ใช้สตริงส่วนตัว; รหัสผ่านสตริงส่วนตัว อายุจำนวนเต็มส่วนตัว เพศจำนวนเต็มส่วนตัว;}testservice.java
แพ็คเกจ com.boot.service; นำเข้า com.boot.domain.user; Interface TestService {String Sayshello (String Str); ผู้ใช้ finduser ();}2. เกี่ยวข้องกับผู้ให้บริการ Boot-Dubbo
ก่อนอื่นมาดูเนื้อหาทั้งหมดที่ต้องเขียนและแผนภาพลำดับชั้นของไฟล์
ไดอะแกรมโครงสร้างโครงการ Boot-Dubbo Project
ขั้นตอนที่ 1: ก่อนอื่นเราใช้อินเทอร์เฟซที่เรากำหนดไว้ใน Boot-Dubbo-API สร้างคลาส TestServiceImpl และใช้งาน TestService
แพ็คเกจ com.boot.service.impl; นำเข้า com.alibaba.dubbo.config.annotation.service; นำเข้า com.boot.domain.user; นำเข้า com.boot.service.testservice; นำเข้า java.text.simpledateFormat; {@Override Public String Sayshello (String str) {simpledateFormat dateformat = new SimpledateFormat ("yyyy-mm-dd hh: mm: ss"); ส่งคืน dateformat.format (วันที่ใหม่ ()) + ":" + str; } @Override ผู้ใช้สาธารณะ finduser () {ผู้ใช้ผู้ใช้ = ผู้ใช้ใหม่ (); user.setId (1001); user.setUserName ("Scott"); user.setPassword ("Tiger"); user.setage (20); user.setGender (0); ผู้ใช้ส่งคืน; -หมายเหตุ: คำอธิบายประกอบ @Service ในรหัสคือ com.alibaba.dubbo.config.annotation.service
ขั้นตอนที่ 2: สร้างโฟลเดอร์ config ภายใต้ทรัพยากรและสร้างไฟล์การกำหนดค่า Spring-Dubbo.xml ภายใต้การกำหนดค่า
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://ww.w3.org/2001/xml xmlns: dubbo = "http://code.alibabatech.com/schema/dubbo" XSI: schemalocation = "http://www.springframework.org/schema/beans http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <Dubbo: Application Name =" ผู้ให้บริการ "/> <! <!-สแกนเส้นทางแพ็คเกจคำอธิบายประกอบหลายแพ็คเกจจะคั่นด้วยเครื่องหมายจุลภาคและอย่ากรอกข้อมูลใน PACAKGE เพื่อระบุการสแกนคลาสทั้งหมดใน ApplicationContext ปัจจุบัน-> <Dubbo: Annotation Package = "com.boot.service.impl"/> </epeans>
ขั้นตอนที่ 3: สร้างคลาสรายการ Springboot ใหม่ภายใต้แพ็คเกจ com.boot และสร้างไฟล์ providerapplication.java
แพ็คเกจ com.boot; นำเข้า org.springframework.boot.springapplication; นำเข้า org.springframework.boot.autoconfigure.springbootapplication; นำเข้า org.springframework.context.annotation.importresource; java.io.ioException;@springbootapplication@importresource ({"classpath: config/spring-dubbo.xml"}) providerapplication ระดับสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run ลอง {system.in.read (); } catch (ioexception e) {e.printstacktrace (); -ขั้นตอนที่ 4: สุดท้ายให้สร้าง Application.yml, ไฟล์การกำหนดค่า Springboot ภายใต้โฟลเดอร์ทรัพยากร
# เขียนข้อมูลการกำหนดค่า Springboot ที่นี่
3. เกี่ยวข้องกับ boot-dubbo-consumer
ก่อนอื่นมาดูเนื้อหาทั้งหมดที่ต้องเขียนและแผนภาพลำดับชั้นของไฟล์
ไดอะแกรมโครงสร้างโครงการ boot-dubbo-consumer
ขั้นตอนที่ 1: เขียนคลาสควบคุมคอนโทรลเลอร์ของเราสร้างคลาส TestController ใหม่ภายใต้แพ็คเกจ com.boot.controller และเขียนที่อยู่การเข้าถึง
แพ็คเกจ com.boot.controller; นำเข้า com.alibaba.dubbo.config.annotation.reference; นำเข้า com.boot.domain.user; นำเข้า com.boot.service.testservice; นำเข้า org.springframework.web.bind.annotation.getMapping; org.springframework.web.bind.annotation.restcontroller;@restcontroller@requestmapping ("/") การทดสอบคลาสสาธารณะ {@reference (เวอร์ชัน = "1.0.0") TestService Private TestService; @getMapping ("สวัสดี") สตริงสาธารณะสวัสดี () {return testservice.sayhello ("Hello Springboot และ Dubbo!"); } @getMapping ("ผู้ใช้") ผู้ใช้สาธารณะ () {return testService.finduser (); -ขั้นตอนที่ 2: สร้างโฟลเดอร์ config ภายใต้ทรัพยากรและสร้างไฟล์การกำหนดค่า Spring-Dubbo.xml ภายใต้การกำหนดค่า
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://ww.w3.org/2001/xml xmlns: dubbo = "http://code.alibabatech.com/schema/dubbo" XSI: schemalocation = "http://www.springframework.org/schema/beans http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <Dubbo: Application Name =" ผู้บริโภค "/> <Dubbo: Registry ที่อยู่ =" Zookeeper: //127.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. package = "com.boot.controller"/> </epeans>
ขั้นตอนที่ 3: สร้างคลาสรายการ Springboot ใหม่ภายใต้แพ็คเกจ com.boot และสร้างไฟล์ consenerapplication.java
แพ็คเกจ com.boot; นำเข้า org.springframework.boot.springapplication; นำเข้า org.springframework.boot.autoconfigure.springbootapplication; org.springframework.context.annotation.importresource;@springbootapplication@importresource ({"classpath: config/spring-dubbo.xml"}) การใช้งานระดับสาธารณะ -ขั้นตอนที่ 4: สุดท้ายให้สร้าง Application.yml, ไฟล์การกำหนดค่า Springboot ภายใต้โฟลเดอร์ทรัพยากร
# เขียนข้อมูลการกำหนดค่า Springboot ที่นี่เซิร์ฟเวอร์: พอร์ต: 8080 บริบท-แพ ธ : /
ณ จุดนี้ส่วนรหัสถูกเขียนขึ้น! - -
4. ติดตั้งศูนย์ทะเบียน Zookeeper ลงในคอมพิวเตอร์
ดาวน์โหลดที่อยู่: ZooKeeper Download Address
คลิกเพื่อดาวน์โหลดเวอร์ชันที่เหมาะสมกับคุณดังที่แสดงในรูปภาพ
ดาวน์โหลด ZooKeeper
หลังจากดาวน์โหลดแล้วคลายซิปไฟล์ป้อนโฟลเดอร์ CONF คัดลอกสำเนา zoo_sample.cfg และสร้างไฟล์ zoo.cfg ในไดเรกทอรีนี้
คัดลอกและสร้างไฟล์ zoo.cfg
ป้อนไดเรกทอรี bin และเรียกใช้ไฟล์ zkserver.cmd
เรียกใช้ zkserver.cmd
คลิกเพื่อเรียกใช้และปรากฏตามที่แสดงในรูปต่อไปนี้
วิ่งได้สำเร็จ
5. ตอนนี้เราสามารถเรียกใช้โครงการของเราได้ในที่สุด
ก่อนอื่นให้เรียกใช้ฟังก์ชั่นหลักของไฟล์ ProviderApplication.java ของเราจากนั้นเรียกใช้ฟังก์ชั่นหลักของไฟล์ ConsumerApplication.java
เปิดเบราว์เซอร์เพื่อเข้าถึง
http: // localhost: 8080/สวัสดี
http: // localhost: 8080/ผู้ใช้
เวลาที่น่าตื่นเต้นมาถึงแล้วและในที่สุดเราก็ได้ทำการรวมตัวกันของ Springboot และ Dubbo
ที่อยู่โครงการ: Springboot-Dubbo Project ที่อยู่ GitHub
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น