Maison  >  Article  >  Java  >  Comment créer un projet Dubbo avec SpringBoot pour implémenter le nième terme de Fibonacci

Comment créer un projet Dubbo avec SpringBoot pour implémenter le nième terme de Fibonacci

WBOY
WBOYavant
2023-05-17 23:58:10922parcourir

    step1 Créer un nouveau projet

    Méthode 1 : Créer un nouveau projet directement dans IDEA comme indiqué :

    Comment créer un projet Dubbo avec SpringBoot pour implémenter le nième terme de Fibonacci

    Méthode 2 : Créer un nouveau

    Comment créer un projet Dubbo avec SpringBoot pour implémenter le nième terme de Fibonacci

    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

    step2 Créez les packages, interfaces et classes d'implémentation requis

    provider Structure du projet :# 🎜🎜#

    Comment créer un projet Dubbo avec SpringBoot pour implémenter le nième terme de Fibonacci

    consumer Structure du projet :

    Comment créer un projet Dubbo avec SpringBoot pour implémenter le nième terme de Fibonacci#🎜 🎜# 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é : Comment créer un projet Dubbo avec SpringBoot pour implémenter le nième terme de Fibonacci

    C:Usersusername.lemminxcachehttpcode.alibabatech.comschemadubbo

    Fichier : dubbo.xsd

    C:Users用户名.lemminxcachehttpcode.alibabatech.comschemadubbo

    文件:dubbo.xsd

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

    需要新建的名字为: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>

    step4 代码编写

    导入依赖

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

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

    provider

    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);
        }
    }

    consumer

    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);
    }

    SpringbootDubboApplicationstep3 Créer un nouveau fichier de configuration sous les ressources des deux projets

    # 🎜🎜#Le nom à créer est : 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 dependenciesComment créer un projet Dubbo avec SpringBoot pour implémenter le nième terme de Fibonacci

    Ajouter des dépendances sous le pom.xml des deux projets :

    rrreee

    provider

    # 🎜🎜#ProviderImpl

    N'oubliez pas d'ajouter l'annotation Service, et ce doit être le service de dubbo

    rrreee

    ServiceAPI# 🎜🎜#rrreeeComment créer un projet Dubbo avec SpringBoot pour implémenter le nième terme de FibonacciSpringbootDubboApplication

    #🎜🎜#Assurez-vous d'ajouter l'annotation ImportResource# 🎜🎜#rrreee#🎜🎜#consumer#🎜🎜##🎜🎜#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!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer