Inhaltsverzeichnis
Schritt 1 Erstellen Sie ein neues Projekt
step3 在两个项目的resource下新建配置文件
step4 代码编写
导入依赖
provider
consumer
SpringbootDubboApplication
Schritt 5 Ausführen
Heim Java javaLernprogramm So erstellen Sie ein Dubbo-Projekt mit SpringBoot, um den n-ten Term von Fibonacci zu implementieren

So erstellen Sie ein Dubbo-Projekt mit SpringBoot, um den n-ten Term von Fibonacci zu implementieren

May 17, 2023 pm 11:58 PM
dubbo springboot

    Schritt 1 Erstellen Sie ein neues Projekt

    Methode 1: Erstellen Sie ein neues Projekt direkt in IDEA, wie in der Abbildung gezeigt:

    So erstellen Sie ein Dubbo-Projekt mit SpringBoot, um den n-ten Term von Fibonacci zu implementieren

    Methode 2: Erstellen Sie ein neues Projekt auf start.spring.io

    So erstellen Sie ein Dubbo-Projekt mit SpringBoot, um den n-ten Term von Fibonacci zu implementieren

    Einige Kinder haben es möglicherweise entdeckt. Die zweite Website ist die gleiche. Sie müssen zwei neue Projekte erstellen, wie im Bild oben gezeigt Sie müssen nur den Anbieter in Consumer ändern. Der Rest bleibt unverändert. Öffnen Sie ihn nach der Dekomprimierung über IDEA. Schritt 2 Erstellen Sie die erforderlichen Pakete, Schnittstellen und Implementierungsklassen

    Bitte beachten Sie, wo sich die beiden ServiceAPIs im Projekt befinden. Der Speicherort bzw. der Paketname muss strikt konsistent sein, sonst kommt es später zu Problemen. Sie können ihn bei Bedarf wie folgt ändern. alibabatech.comschemadubbo

    Datei: dubbo.xsd

    Schritt3 Erstellen Sie eine neue Konfigurationsdatei unter den Ressourcen der beiden Projekte

    Der neue Name, der erstellt werden muss, lautet: spring- dubbo.xmlSo erstellen Sie ein Dubbo-Projekt mit SpringBoot, um den n-ten Term von Fibonacci zu implementieren

    Konfigurationsdatei des Anbieters schreibt:

    <?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/spring-beans.xsd
    	   http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
        <!-- dubbo应用名称 -->
        <dubbo:application name="springboot-buddo-provider"/>
        <!-- 发布者 dubbo协议  -->
        <dubbo:protocol name="dubbo" port="20881"/>
        <!-- 定义bean -->
        <bean id="providerImpl" class="com.springdubbo.demo.springbootdubbo.apiImpl.ProviderImpl"/>
        <!-- dubbo服务 发布者发布服务  需要暴露的服务接口 -->
        <dubbo:service interface="com.springdubbo.demo.springbootdubbo.ServiceAPI" ref="providerImpl"
                       registry="N/A"/>
    </beans>
    Nach dem Login kopieren

    Konsumentenkonfigurationsdatei schreibt:

    <?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/spring-beans.xsd
    	   http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
        <!-- dubbo应用名称 -->
        <dubbo:application name="springboot-buddo-consumer"/>
        <!-- 远程服务调用代理 -->
        <dubbo:reference id="consumerImpl"
                         interface="com.springdubbo.demo.springbootdubbo.ServiceAPI"
                         url="dubbo://localhost:20881" />
    </beans>
    Nach dem Login kopieren
    So erstellen Sie ein Dubbo-Projekt mit SpringBoot, um den n-ten Term von Fibonacci zu implementierenstep4 Code schreiben

    Abhängigkeiten importieren

    in der pom.xml der beiden Projekte Fügen Sie unten Abhängigkeiten hinzu:

    <dependency>
    	<groupId>com.alibaba.spring.boot</groupId>
    	<artifactId>dubbo-spring-boot-starter</artifactId>
    	<version>2.0.0</version>
    </dependency>
    Nach dem Login kopieren

    providerSo erstellen Sie ein Dubbo-Projekt mit SpringBoot, um den n-ten Term von Fibonacci zu implementieren

    ProviderImpl

    Vergessen Sie nicht, die Service-Anmerkung hinzuzufügen, es muss sich um Dubbos Service handeln

    package com.springdubbo.demo.springbootdubbo.apiImpl;
    import com.alibaba.dubbo.config.annotation.Service;
    import com.springdubbo.demo.springbootdubbo.ServiceAPI;
    /**
     * @author wuyt
     * @data 2022/6/11
     * @apiNote
     */
    @Service
    public class ProviderImpl implements ServiceAPI {
        public String getMessage(String message) {
            return "springboot-dubbo-provider  =>>>>>" + message;
        }
        public String getTheFeibN(int n) {
            //斐波那契数列第n项的实现逻辑
        }
    }
    Nach dem Login kopieren
    C:Users用户名.lemminxcachehttpcode.alibabatech.comschemadubbo

    文件:dubbo.xsd

    step3 在两个项目的resource下新建配置文件

    需要新建的名字为:spring-dubbo.xml

    provider的该配置文件中写入:

    package com.springdubbo.demo.springbootdubbo;
    /**
     * @author wuyt
     * @data 2022/6/11
     * @apiNote
     */
    public interface ServiceAPI {
        public String getMessage(String message);
        public String getTheFeibN(int n);
    }
    Nach dem Login kopieren
    Nach dem Login kopieren

    consumer的该配置文件内写入:

    package com.springdubbo.demo.springbootdubbo;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.ImportResource;
    @SpringBootApplication
    @ImportResource("classpath:spring-dubbo.xml")
    public class SpringbootDubboApplication {
        public static void main(String[] args) {
            SpringApplication.run(SpringbootDubboApplication.class, args);
        }
    }
    Nach dem Login kopieren

    step4 代码编写

    导入依赖

    在两个项目的pom.xml下均添加依赖:

    package com.springdubbo.demo.springbootdubbo;
    /**
     * @author wuyt
     * @data 2022/6/11
     * @apiNote
     */
    public interface ServiceAPI {
        public String getMessage(String message);
        public String getTheFeibN(int n);
    }
    Nach dem Login kopieren
    Nach dem Login kopieren

    provider

    ProviderImpl

    Service注解一定不要忘记加,而且一定要是dubbo的Service

    package com.springdubbo.demo.springbootdubbo;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.ConfigurableApplicationContext;
    import org.springframework.context.annotation.ImportResource;
    @SpringBootApplication
    @ImportResource("classpath:spring-dubbo.xml")
    public class SpringbootDubboApplication {
    	public static void main(String[] args) {
    		ConfigurableApplicationContext count = SpringApplication.run(SpringbootDubboApplication.class, args);
    		ServiceAPI impl = (ServiceAPI)count.getBean("consumerImpl");
    //		System.out.println(impl.getMessage("Hello dubbo"));
    		System.out.println(impl.getTheFeibN(10));
    	}
    }
    Nach dem Login kopieren

    ServiceAPI

    rrreee

    SpringbootDubboApplication

    一定要加上ImportResource注解

    rrreee

    consumer

    ServiceAPI

    rrreee

    SpringbootDubboApplicationServiceAPI

    rrreee

    SpringbootDubboApplication

    Achten Sie darauf, die Annotation „ImportResource“ hinzuzufügen: Anbieter Oder die Portnummer eines beliebigen Verbrauchers

    Hier ändern Sie die Portnummer des Verbrauchers, der ausgeführt wird:

    So erstellen Sie ein Dubbo-Projekt mit SpringBoot, um den n-ten Term von Fibonacci zu implementieren

    Schritt 5 Ausführen

    Führen Sie zuerst den Anbieter und dann den Verbraucher aus

    Ergebnis:

    So erstellen Sie ein Dubbo-Projekt mit SpringBoot, um den n-ten Term von Fibonacci zu implementieren

    Das obige ist der detaillierte Inhalt vonSo erstellen Sie ein Dubbo-Projekt mit SpringBoot, um den n-ten Term von Fibonacci zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
    Will R.E.P.O. Crossplay haben?
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    Wie Springboot Jasypt integriert, um die Verschlüsselung von Konfigurationsdateien zu implementieren Wie Springboot Jasypt integriert, um die Verschlüsselung von Konfigurationsdateien zu implementieren Jun 01, 2023 am 08:55 AM

    Einführung in Jasypt Jasypt ist eine Java-Bibliothek, die es einem Entwickler ermöglicht, seinem Projekt mit minimalem Aufwand grundlegende Verschlüsselungsfunktionen hinzuzufügen und kein tiefes Verständnis der Funktionsweise der Verschlüsselung erfordert. standardbasierte Verschlüsselungstechnologie. Passwörter, Text, Zahlen, Binärdateien verschlüsseln ... Geeignet für die Integration in Spring-basierte Anwendungen, offene API, zur Verwendung mit jedem JCE-Anbieter ... Fügen Sie die folgende Abhängigkeit hinzu: com.github.ulisesbocchiojasypt-spring-boot-starter2 Die Vorteile von Jasypt schützen unsere Systemsicherheit. Selbst wenn der Code durchgesickert ist, kann die Datenquelle garantiert werden.

    So implementieren Sie verteilte Sperren mit Redis in SpringBoot So implementieren Sie verteilte Sperren mit Redis in SpringBoot Jun 03, 2023 am 08:16 AM

    1. Redis implementiert das Prinzip der verteilten Sperren und warum verteilte Sperren erforderlich sind. Bevor über verteilte Sperren gesprochen wird, muss erläutert werden, warum verteilte Sperren erforderlich sind. Das Gegenteil von verteilten Sperren sind eigenständige Sperren. Wenn wir Multithread-Programme schreiben, vermeiden wir Datenprobleme, die durch den gleichzeitigen Betrieb einer gemeinsam genutzten Variablen verursacht werden. Normalerweise verwenden wir eine Sperre, um die Richtigkeit der gemeinsam genutzten Variablen sicherzustellen Die gemeinsam genutzten Variablen liegen im gleichen Prozess. Wenn es mehrere Prozesse gibt, die gleichzeitig eine gemeinsam genutzte Ressource betreiben müssen, wie können sie sich dann gegenseitig ausschließen? Heutige Geschäftsanwendungen sind in der Regel Microservice-Architekturen, was auch bedeutet, dass eine Anwendung mehrere Prozesse bereitstellen muss. Wenn mehrere Prozesse dieselbe Datensatzzeile in MySQL ändern müssen, ist eine Verteilung erforderlich, um fehlerhafte Daten zu vermeiden wird zu diesem Zeitpunkt eingeführt. Der Stil ist gesperrt. Punkte erreichen wollen

    So lösen Sie das Problem, dass Springboot nach dem Einlesen in ein JAR-Paket nicht auf die Datei zugreifen kann So lösen Sie das Problem, dass Springboot nach dem Einlesen in ein JAR-Paket nicht auf die Datei zugreifen kann Jun 03, 2023 pm 04:38 PM

    Springboot liest die Datei, kann aber nach dem Packen in ein JAR-Paket nicht auf die neueste Entwicklung zugreifen. Es gibt eine Situation, in der Springboot die Datei nach dem Packen in ein JAR-Paket nicht lesen kann ist ungültig und kann nur über den Stream gelesen werden. Die Datei befindet sich unter resources publicvoidtest(){Listnames=newArrayList();InputStreamReaderread=null;try{ClassPathResourceresource=newClassPathResource("name.txt");Input

    So implementieren Sie Springboot+Mybatis-plus, ohne SQL-Anweisungen zum Hinzufügen mehrerer Tabellen zu verwenden So implementieren Sie Springboot+Mybatis-plus, ohne SQL-Anweisungen zum Hinzufügen mehrerer Tabellen zu verwenden Jun 02, 2023 am 11:07 AM

    Wenn Springboot + Mybatis-plus keine SQL-Anweisungen zum Hinzufügen mehrerer Tabellen verwendet, werden die Probleme, auf die ich gestoßen bin, durch die Simulation des Denkens in der Testumgebung zerlegt: Erstellen Sie ein BrandDTO-Objekt mit Parametern, um die Übergabe von Parametern an den Hintergrund zu simulieren dass es äußerst schwierig ist, Multi-Table-Operationen in Mybatis-plus durchzuführen. Wenn Sie keine Tools wie Mybatis-plus-join verwenden, können Sie nur die entsprechende Mapper.xml-Datei konfigurieren und die stinkende und lange ResultMap konfigurieren Schreiben Sie die entsprechende SQL-Anweisung. Obwohl diese Methode umständlich erscheint, ist sie äußerst flexibel und ermöglicht es uns

    Vergleich und Differenzanalyse zwischen SpringBoot und SpringMVC Vergleich und Differenzanalyse zwischen SpringBoot und SpringMVC Dec 29, 2023 am 11:02 AM

    SpringBoot und SpringMVC sind beide häufig verwendete Frameworks in der Java-Entwicklung, es gibt jedoch einige offensichtliche Unterschiede zwischen ihnen. In diesem Artikel werden die Funktionen und Verwendungsmöglichkeiten dieser beiden Frameworks untersucht und ihre Unterschiede verglichen. Lassen Sie uns zunächst etwas über SpringBoot lernen. SpringBoot wurde vom Pivotal-Team entwickelt, um die Erstellung und Bereitstellung von Anwendungen auf Basis des Spring-Frameworks zu vereinfachen. Es bietet eine schnelle und einfache Möglichkeit, eigenständige, ausführbare Dateien zu erstellen

    Wie SpringBoot Redis anpasst, um die Cache-Serialisierung zu implementieren Wie SpringBoot Redis anpasst, um die Cache-Serialisierung zu implementieren Jun 03, 2023 am 11:32 AM

    1. Passen Sie den RedisTemplate1.1-Standard-Serialisierungsmechanismus an. Die API-basierte Redis-Cache-Implementierung verwendet die RedisTemplate-Vorlage für Daten-Caching-Vorgänge. Öffnen Sie hier die RedisTemplate-Klasse und zeigen Sie die Quellcodeinformationen der Klasse publicclassRedisTemplateextendsRedisAccessorimplementsRedisOperations an. Schlüssel deklarieren, verschiedene Serialisierungsmethoden des Werts, der Anfangswert ist leer @NullableprivateRedisSe

    So erhalten Sie den Wert in application.yml in Springboot So erhalten Sie den Wert in application.yml in Springboot Jun 03, 2023 pm 06:43 PM

    In Projekten werden häufig einige Konfigurationsinformationen benötigt. Diese Informationen können in der Testumgebung und in der Produktionsumgebung unterschiedliche Konfigurationen haben und müssen möglicherweise später basierend auf den tatsächlichen Geschäftsbedingungen geändert werden. Wir können diese Konfigurationen nicht fest im Code codieren. Am besten schreiben Sie sie in die Konfigurationsdatei. Sie können diese Informationen beispielsweise in die Datei application.yml schreiben. Wie erhält oder verwendet man diese Adresse im Code? Es gibt 2 Methoden. Methode 1: Wir können den Wert, der dem Schlüssel in der Konfigurationsdatei (application.yml) entspricht, über den mit @Value versehenen Wert erhalten. Diese Methode eignet sich für Situationen, in denen es relativ wenige Mikrodienste gibt: Tatsächlich Projekte, wenn das Geschäft kompliziert ist, Logik

    Praktisches Tutorial zur SpringBoot+Dubbo+Nacos-Entwicklung Praktisches Tutorial zur SpringBoot+Dubbo+Nacos-Entwicklung Aug 15, 2023 pm 04:49 PM

    In diesem Artikel wird ein detailliertes Beispiel geschrieben, um über die tatsächliche Entwicklung von Dubbo + Nacos + Spring Boot zu sprechen. In diesem Artikel wird nicht zu viel theoretisches Wissen behandelt, sondern das einfachste Beispiel wird geschrieben, um zu veranschaulichen, wie Dubbo in Nacos integriert werden kann, um schnell eine Entwicklungsumgebung aufzubauen.

    See all articles