Publiqué el método de anotación ayer. Alguien me envió un correo electrónico con la esperanza de lanzar una versión del formato XML. Originalmente era posible hacerlo antes de las 12 en punto, pero hubo un pequeño problema con la computadora, lo que provocó que la idea se estrellara salvajemente. Lo he estado haciendo durante mucho tiempo y no diré muchas tonterías. Espero que todos puedan señalar cualquier error y enviarlo a mi dirección de correo electrónico.
El uso de Dubbo es definitivamente multimodular, así que primero creemos un proyecto de agregación
Esta es la estructura del proyecto
DUBBO_DEMO POM se utiliza principalmente para agregar módulos comerciales sin ningún procesamiento comercial.
<? xml versión = "1.0" encoding = "utf-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschemainstance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion> 4.0.0 </modelversion> <grupo> com.hzb </groupid> <arifactid> Dubbo_demo <Versión> 0.0.1-Snapshot </versión> <!-Somos un desarrollo de módulos múltiples, por lo que necesitamos convertirnos en POM-> <Apbackaging> POM </Packaging> <!-System Module-> <modules> <module> hzbDubbo-Consumer </module> <module> HZBDUBBO-PROVERMINE </module> </shodules> </sppertyes-<propiations-<Propiedades> <Propiedades>! <Project.Build.SourceEncoding> Utf-8 </project.build.sourceEncoding> <java.version> 1.8 </java.version> </propiies> </proyect>
Luego siga el método anterior para crear dos proyectos, uno es el proveedor de servicios y el consumidor de servicios
Si el proveedor y los consumidores no lo entienden, haga clic en este enlace para conocerlo. http://dubbo.io/
Fragmento del código del proveedor de servicios:
Genere proyectos básicos de acuerdo con la primera imagen
Estructura del código: siempre que no comprenda la demostración de acuerdo con la estructura estándar, puede entenderla.
Proveedor de servicios POM:
<? xml versión = "1.0" encoding = "utf-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelversion>4.0.0</modelversion><groupid>com.hzb.dubbo.provider</group ID> <artifactId> HzbDubbo-Provider </artifactid> <compaguete> jar </packaging> <name> hzbdubbo-provider </name> <soldic> demostración Proyecto para el arranque de primavera </cription> <Parent> <MoupRid> com.hzb </groupid> <artifactid> dubbo_demo </arifactid> <versión> 0.0.1-snapshot </versions> </parent> <properties> <proyecto.build.sourceencoding> utf-8 </project.build.build.build.build.builing>>> <Project.Reporting.outputEncoding> UTF-8 </project.reporting.outputencoding> <java.version> 1.8 </Java.version> </propieties> <pendencies> <epardency> <proupid> org.springFrame.Boot </groupId> <Atifactid> spring-boot-sharter-web </artid> <Versión> 1.5.2.Release </versión> </pendency> <epardency> <grupid> org.springframework.boot </groupid> <artifactid> spring-boot-sharter </artifactid> <version> 1.5.2.release </versión> </dependency> <epardency> <proupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-test </artifactid> <cope> test </cope> <verververs> 1.5.2.release </verversion> </pendency> <pendency> <proupid> com.alibaba </groupid> <artifactid> dubbo </artifactid> <versión> 2.4.10 </versevers> <excusions> <extusion> <tartifactid Spring Spring Spring Spring Springe <MoupRid> org.springframework </proupid> </extusion> </excusionions> </pendency> <pendency> <uproupid> org.apache.zookeepers </groupid> <artifactID> ZOOKEEPER </artifactID> <Version> 3.4.6 </slection> <exusions> <exusion> <exusion> <artifactId>slf4j-log4j12</artifactId> <groupId>org.slf4j</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> </pendencies> <struye> <glugins> <grupoD> org.springframework.boot </groupid> <artifactid> spring-boot-maven-plugin </artifactid> <versión> 1.5.2.release </ververse> </glugin> </glugins> </bield> </proyect>
Preste atención a lo que el padre en un POM corresponde al POM agregado
Configuración en dubbo.xml:
<? xml versión = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" "" "" xmlns: dubbo = "http://code.alibabatech.com/schema/dubbo" xsi: schemalocation = "http://www.springframework.org/schema/Beans http://www.springframework.org/schema/Beans/Spring-Beansd-Beansd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-Para la configuración, consulte el nombre de la aplicación http://dubbo.io/user+guide-zhh.htm-> <!-el nombre de la aplicación del servicio, solía calcular las calculaciones. <dubbo: aplicación name = "dubbo-provider" propietario = "dubbo-provider" /> <!-Define la dirección y protocolo del centro de registro de Zookeeper-> <dubbo: protocole de registro = "Zookeeper" Dirección "127.0.0.0.1:2181" Cliente = "ZKClient" /> <!-Define Dired Dubbo el Puerto predeterminado de Dubbo de Dubbo es 20888880 Está configurado como -1 o el puerto no está configurado, se asignará un puerto que no está ocupado-> <dubbo: protocol name = "dubbo" puerto = "-1" /> <!-Declare la interfaz de servicio que necesita ser expuesta-> <dubbo: servicio = "com.hzb.dubbo.provider.demaService" ref = "demosService =" Demoservice "" 1000000000000000000000000000000 "" "1000000000000000000" "" "" "" "" "", "" "" "" "" "" "" "" "") "" "" "" "" "" "" "" "" "" "" "" "" ,A sus Losservice "" "" "" "" "," "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "", "" "" "" "" "" "" "" "" "" ,A sus Losservice "'' ''. Implemente el servicio como los frijoles locales -> <bean id = "demostración" /> < /beans>
Para comprender el significado de la configuración, haga clic en este enlace: http://dubbo.io/books/dubbo-user-book-en/english versión https://help.github.com/categories/github-pages-basics/
Código de clase de inicio del proveedor de servicios:
paquete com.hzb.dubbo.provider; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; import og.springframework.context.annotation.importResource; @ImporTresource (valor = {"classpath: dubbo.xml"}) clase pública dubBoProviderApplication {public static void main (string [] args) {springapplication.run (dubBoRoviderApplication.class, args); System.out.println ("Proveedor del servidor lanzado correctamente"); }}Código de interfaz de servicio de servicio:
Código de implementación comercial: "
Lo siguiente es servir a los consumidores:
Estructura del proyecto:
Los consumidores también deben prestar atención a las diferencias entre POM y lo anterior y la dependencia.
<? xml versión = "1.0" encoding = "utf-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschemainstance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <ModelVersion> 4.0.0 </modelversion> <proupid> com.hzb.dubbo.consumer </groupid> <artifactId>hzbdubbo-consumer</artifactId> <packaging>jar</packaging> <name>hzbdubbo-consumer</name> <description>Demo project for Spring Boot</description> <parent> <groupId>com.hzb</groupId> <artifactId>Dubbo_demo</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <properties> <proyecto.build.sourceEncoding> UTF-8 </project.build.SourceEncoding> <jecter.reptinging.outputenCoding> UTF-8 </project.rePorting.outputEncoding> <Java.Version> 1.8 </Java.Version> </Propertys> <SpEDEDENDESS> <MoupRid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-web </arfactiD> <versión> 1.5.2.release </versión> </dependency> <epardency> <grupid> org.springframework.boot </groupid> <artifactid> spring-starter </artifactid> <Versión> 1.5.2.Release </versión> </pendency> <pepertency> <MoupRupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-test </artifactid> <version> 1.5.2.release </versión> <appope> test </scope> </pelepency> <MoupRid> com.alibaba </groupid> <artifactid> fastjson </artifactid> <versión> 1.1.41 </versión> </pendency> <pendency> <proupid> com.alibaba </groupid> <artifactid> dubbo </artifactid> <versers> 2.4.10 </verversion> <excusion> <extusion> <artifiD> Spring Spring> spring> spring </ArtifiD> <MoupRid> org.springframework </groupid> </extusion> </excusionions> </pendency> <pendency> <uproupid> org.apache.zookeepers </groupid> <artifactid> ZOOKEEPER </arifactid> <versión> 3.4.6 </slection> <exusions> <Artifactid> Slf4J-LOG422 <MoupRid> org.slf4j </groupid> </extusion> </extusion> </dependence> <pendency> <uproupid> com.github.sgroschupf </groupid> <artifactid> zkclient </artifactid> <versión> 0.1 </versión> </pendency> <pendency> <grupid> <AtifactId> HzbDubbo-Provider </artifactid> <versión> 0.0.1-snapshot </versewer> </pendency> </pendencs> <construction> <glugins> <proupid> org.springframework.boot </groupid> <artifactid> spring-boot-maven-plugin </artifactid> <versions.2. </glugins> </build> </proyecto>
Configuración dubbo.xml:
Clase de inicio:
Controlador de servicio de llamadas de prueba
El siguiente paso es iniciar primero el proveedor de servicios y luego iniciar el consumidor
Resultados de ejecución
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.