J'ai posté la méthode d'annotation hier. Quelqu'un m'a envoyé un e-mail dans l'espoir de publier une version du format XML. Il était à l'origine possible de le faire avant 12 heures, mais il y avait un léger problème avec l'ordinateur, ce qui a fait s'écraser sauvagement de l'idée. Je le fais depuis longtemps et je ne dirai pas beaucoup de bêtises. J'espère que tout le monde pourra signaler toutes les erreurs et l'envoyer à mon adresse e-mail.
L'utilisation de Dubbo est définitivement multimodulaire, alors créons d'abord un projet d'agrégation
Ceci est la structure du projet
Dubbo_demo Pom est principalement utilisé pour agréger les modules commerciaux sans traitement commercial.
<? xml version = "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 </débo_demo </prouver </proncID> <ArtifAtid> Dubbo_Demo <version> 0.0.1-snapshot </ version> <! - Nous sommes le développement multi-modules, nous devons donc devenir pom -> <packaging> pom </packaging> <! - module système -> <modules> <odule> hzbdubbo-consommer </odule> <modules> hzbdubbo-propert <Properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <java.version> 1.8 </java.version> </propreties> </propre>
Suivez ensuite la méthode ci-dessus pour créer deux projets, l'un est le fournisseur de services et le consommateur de services
Si le fournisseur et les consommateurs ne le comprennent pas, cliquez sur ce lien pour en savoir plus. http://dubbo.io/
Extrait de code du fournisseur de services:
Générer des projets de base en fonction de la première image
Structure du code: Tant que vous ne comprenez pas la démo en fonction de la structure standard, vous pouvez la comprendre.
Proviseur de service POM:
<? xml version = "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 </ artifactive> <packaging> jar </packaging> <name> hzbdubbo-provider </name> <escription> démo Project pour Spring Boot </Scription> <parent> <proupId> com.hzb </rompuprid> <letifactive> dubbo_demo </ artifactid> <version> 0.0.1-snapshot </-version> </parent> <properties> <projeil.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reportting.outputencoding> utf-8 </project.reportting.outputencoding> <java.version> 1.8 </java.version> </properties> <dependces> <dependency> <proupId> org.springframework.boot </proupId> <ArtifActid> Spring-boot-starter-starter-web </prounid> <version> 1.5.2.Release </DERNIERNE> </ Dependency> <Dedency> <ProupId> org.springFramework.boot </proupId> <ArtifActid> printemps-boot-starter </retifactid> <version> 1.5.2.release </ version> </ Dependency> <dependency> <proupId> org.springFramework. <ArtefactId> Spring-Boot-Starter-Test </ ArtifactId> <POPE> TEST </cope> <version> 1.5.2.Release </ Version> </ Dependency> <Dendency> <ProupID> com.alibaba </proncId> <ErtulfactId> Dubbo </culfactid> <version> 2.4.10 </DUTRUSTION> <ArtefactId> printemps </ artifactid> <proupId> org.springframework </rom grouped> </ exclusion> </cglusions> </pependency> <pependency> <proupId> org.apache.zookeeper </prouvendid> <Artifactid> Zookeeper </runactid> <version> 3.6 </Declusion> Exclusion> Exclusion> Exclusion> <Artifactid> SLF4J-LOG4J12 </ Artifactid> <GroupId> org.slf4j </proncID> </clusion> </clusion> </ Dependency> <Dedency> <ProupID> com.github.sgroschupf </proupId> <e Artifactid> ZKClient </Artifactid> </Dependances> <Duild> <Glugins> <GroupId> org.springFramework.boot </prôdID> <ArtifACTID> Spring-Boot-Maven-Plugin </ ArfactId> <DERVIÈRE> 1.5.2.Release </ version> </gingin> </glugins> </uild> </rands>
Faites attention à ce que le parent dans un pompon correspond au pom agrégé
Configuration dans dubbo.xml:
<? xml version = "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/springretsdarsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <! - Pour la configuration, veuillez vous référer à http://dubbo.io/User+Gude-zh.htm -> <! - L'application du fournisseur de services, a utilisé pour calculer les dépendances - <! name = "dubbo-provider" propriétaire = "Dubbo-provider" /> <! - Définir l'adresse et le protocole du centre d'enregistrement ZooKeeper -> <dubbo: Registry Protocol = "ZOOKEETER" Adresse = "127.0.0.1:2181" client = "ZKClient" /> <! - Define Dubbo Port of Dubbo Protocol est 20880. configuré, un port qui n'est pas occupé sera attribué -> <dubbo: protocole name = "dubbo" port = "- 1" /> <! - Déclarez l'interface de service qui doit être exposée -> <dubbo: service interface = "com.hzb.dubbo.provider.demoservice" ref = "Demiservice" timeout = "10000" /> <! id = "Demoservice" /> </ Beans>
Pour comprendre la signification de la configuration, cliquez sur ce lien: http://dubbo.io/books/dubbo-user-book-en/english version https://help.github.com/categories/github-pages-basics/
Code de classe de démarrage du fournisseur de services:
package com.hzb.dubbo.provider; import org.springframework.boot.springApplication; import org.springframework.boot.autoconfigure.springbootapplication; @ SpringbootApplication // utiliser Dubbo.xml pour configure pour configure; @ springbootapplication // @Importresource (value = {"classPath: dubbo.xml"}) public class DubboproviderApplication {public static void main (string [] args) {SpringApplication.Run (DubboproviderApplication.class, args); System.out.println ("Proviseur de serveur lancé avec succès"); }}Code d'interface de service de service:
Code d'implémentation d'entreprise: "
Ensuite, c'est servir les consommateurs:
Structure du projet:
Les consommateurs devraient également prêter attention aux différences entre POM et ce qui précède et la dépendance.
<? xml version = "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> <ProupId> com.hzb.dubbo.nonnes <Artifactid> hzbdubbo-consommer </lefactive> <packaging> jar </packaging> <name> hzbdubbo-consommer </name> <escription> Project de démonstration pour la démarrage de printemps </ description> <parent> <proupId> com.hzb </prouvenid> <pritifactid> Dubbo_demo </RitifActid> </parent> <preperties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reportting.outputencoding> utf-8 </project.reportting.outputencoding> <java.version> 1.8 </java.version> </propperties> <GroupId> org.springframework.boot </proupId> <Artifactid> printemps-boot-starter-web </lefactive> <in version> 1.5.2.release </-version> </pedency> <Dedency> <proupId> org.springframework.boot </proupId> <ArtifActid> printemps-boot-starter </tifactId> <version> 1.5.2.Release </ version> </dependency> <dependency> <proupId> org.springframework.boot </proupId> <ArtefactId> printemps-boot-starter-test </letefactid> <version> 1.5.2.release </-version> <ccope> Test </cope> </Dedency> <! <GroupId> com.alibaba </rom grouped> <Artifactid> Fastjson </lefactive> <DERVIÈRE> 1.1.41 </DERNIER> </ Dependency> <Dendency> <proupId> com.alibaba </proupId> <Artefactid> Dubbo </ Artifactid> <version> 2.4.10 </Derowing> </ Exclusions> <exclusion> <GroupId> org.springFramework </romp grouped> </clusion> </clusions> </pependency> <dependency> <proupId> org.apache.zookeeper </rom grouped> <letefactive> zookeeper </retifactid> <version> 3.4.6 </DERNIERDE> <exclusions> <exclusion> <ArtefactId> SLF4J-LOG4J12 </ Artifactid> <proupId> org.slf4j </proncID> </cchusion> </ exclusion> </pedidency> <pedidency> <proupId> com.github.sgroschupf </pruimId> <e Artifactid> ZKClient </tatifactid> <fraire> 0.1 </pteritude> </preence> </pteridency> <de version>> 0.1 </pridé> <GroupId> com.hzb.dubbo.provider </prôdId> <Artifactid> hzbdubbo-provider </ artifactId> <DERVIÈRE> 0.0.1-snapshot </-version> </dependency> </dependces> </ build> <lagins> <proupId> org.springframework.boot </proupId> <ArtefactId> Spring-Boot-Maven-Plugin </ ArfactId> <DERNÉRATION> 1.5.2.Release </ Version> </ Plugin> </Glugins> </ Build> </ Project>
Dubbo.xml Configuration:
Classe de démarrage:
Contrôleur de service d'appel de test
L'étape suivante consiste d'abord à démarrer le fournisseur de services, puis à démarrer le consommateur
Résultats en cours d'exécution
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.