Méthode 1 : Créer un nouveau projet directement dans IDEA comme indiqué :
Méthode 2 : Créer un nouveau
sur start.spring.io Quelques enfants Je l'ai peut-être découvert. L'URL du serveur de la première méthode est le deuxième site Web, qui est le même
Pour créer deux nouveaux projets, le premier projet est comme indiqué dans l'image ci-dessus et le second. le projet n'a besoin que de changer de fournisseur. Laissez le reste inchangé pour le consommateur
, décompressez-le et ouvrez-le via IDEA
provider Structure du projet :# 🎜🎜#
consumer Structure du projet :#🎜 🎜# Veuillez noter que les deux ServiceAPI sont à l'emplacement dans le projet, ou le nom du package doit être strictement cohérent, sinon il y aura des problèmes plus tard
S'ils sont incohérents, vous pouvez le modifier si nécessaire comme suit
#🎜🎜 #
xsd est placé dans le répertoire spécifié :
C:Usersusername.lemminxcachehttpcode.alibabatech.comschemadubbo
Fichier : dubbo.xsd
C:Users用户名.lemminxcachehttpcode.alibabatech.comschemadubbo
文件:dubbo.xsd
需要新建的名字为:spring-dubbo.xml
provider的该配置文件中写入:
<?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>
consumer的该配置文件内写入:
<?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>
在两个项目的pom.xml下均添加依赖:
<dependency> <groupId>com.alibaba.spring.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency>
ProviderImpl
Service注解一定不要忘记加,而且一定要是dubbo的Service
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项的实现逻辑 } }
ServiceAPI
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); }
SpringbootDubboApplication
一定要加上ImportResource注解
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); } }
ServiceAPI
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); }
SpringbootDubboApplication
step3 Créer un nouveau fichier de configuration sous les ressources des deux projets
spring-dubbo.xml
Dans le fichier de configuration du fournisseur, écrivez : 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)); } }Dans le fichier de configuration du consommateur, écrivez :
rrreee#🎜🎜 #step4 Codewriting
Import dependencies
Ajouter des dépendances sous le pom.xml des deux projets :# 🎜🎜#ProviderImpl
N'oubliez pas d'ajouter l'annotation Service, et ce doit être le service de dubbo
rrreeeServiceAPI
# 🎜🎜#rrreeeSpringbootDubboApplication
ServiceAPI
#🎜🎜#rrreee#🎜🎜#SpringbootDubboApplication
#🎜🎜#rrreee#🎜🎜 #Changement de conflit de port#🎜🎜##🎜🎜#Vous pouvez modifier le fournisseur ou le consommateur N'importe quel numéro de port #🎜🎜##🎜🎜# Modifier le numéro de port sur lequel le consommateur s'exécute : #🎜🎜##🎜🎜##🎜 🎜##🎜🎜##🎜🎜#step5 Exécuter #🎜🎜##🎜🎜 #Exécutez d'abord le fournisseur, puis exécutez le consommateur#🎜🎜##🎜🎜#Résultat : #🎜🎜##🎜🎜##🎜🎜 ##🎜🎜#Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!