Heim >Java >javaLernprogramm >So erstellen Sie ein Dubbo-Projekt mit SpringBoot, um den n-ten Term von Fibonacci zu implementieren
Methode 1: Erstellen Sie ein neues Projekt direkt in IDEA, wie in der Abbildung gezeigt:
Methode 2: Erstellen Sie ein neues Projekt auf start.spring.io
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
dubbo.xsd
Schritt3 Erstellen Sie eine neue Konfigurationsdatei unter den Ressourcen der beiden Projekte
Der neue Name, der erstellt werden muss, lautet: spring- 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/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>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>step4 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>
provider
ProviderImpl
Vergessen Sie nicht, die Service-Anmerkung hinzuzufügen, es muss sich um Dubbos Service handelnpackage 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项的实现逻辑 } }
C:Users用户名.lemminxcachehttpcode.alibabatech.comschemadubbo
文件:dubbo.xsd
需要新建的名字为: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); }
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); } }
在两个项目的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); }
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)); } }
ServiceAPI
SpringbootDubboApplication
一定要加上ImportResource注解
rrreeeServiceAPI
SpringbootDubboApplication
ServiceAPI
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:
Führen Sie zuerst den Anbieter und dann den Verbraucher aus
Ergebnis:
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!