SpringBoot怎么搭建Dubbo项目实现斐波那契第n项

    step1 新建项目

    方法1:直接在IDEA里新建如图:

    SpringBoot怎么搭建Dubbo项目实现斐波那契第n项

    方法2:在start.spring.io新建

    SpringBoot怎么搭建Dubbo项目实现斐波那契第n项

    可能有的小朋友已经发现了,名列前茅种方式的Server URL就是第二个的网站,都是一样的

    要新建两个项目,名列前茅个项目如上图所示,第二个项目只需要将provider改为consumer

    其余不变,解压后通过IDEA打开

    step2 新建需要的包和接口以及实现类

    provider 项目结构:

    SpringBoot怎么搭建Dubbo项目实现斐波那契第n项

    consumer 项目结构:

    SpringBoot怎么搭建Dubbo项目实现斐波那契第n项

    请注意,两个ServiceAPI在项目中的的所在位置,或者说包名要严格一致,否则后续会出问题

    如果不一致,可以按照如下方式按需进行更改

    SpringBoot怎么搭建Dubbo项目实现斐波那契第n项

    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/beanshttp://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/beanshttp://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 */@Servicepublic 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);}

    SpringbootDubboApplication

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

    端口冲突更改

    可以修改provider或者是consumer其中任意一个的端口号

    这里修改consumer运行的端口号:

    SpringBoot怎么搭建Dubbo项目实现斐波那契第n项

    step5 运行

    首先运行provider,然后运行consumer

    结果:

    SpringBoot怎么搭建Dubbo项目实现斐波那契第n项

    到此,关于“SpringBoot怎么搭建Dubbo项目实现斐波那契第n项”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

    文章标题:SpringBoot怎么搭建Dubbo项目实现斐波那契第n项,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/29251

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    亿速云的头像亿速云认证作者
    上一篇 2022年9月24日 上午12:16
    下一篇 2022年9月24日 上午12:17

    相关推荐

    • MySQL中的用户创建与权限管理怎么实现

      一、用户管理 在mysql库里有个user表可以查看已经创建的用户 1.创建MySQL用户 注意:MySQL中不能单纯通过用户名来说明用户,必须要加上主机。如hhy@10.1.1.1 基本语法: mysql> create user ‘用户名’@’被允许连接的主机名称或主机的IP地址’ ide…

      2022年9月2日
      60800
    • Web应用防火墙JXWAF怎么部署

      JXWAF概述 JXWAF是一种开源的Web应用程序防火墙,可用于防护SQL注入漏洞,XSS漏洞,命令执行突破等OWASP常见攻击,CC攻击等,避免网站数据泄露,保障网站可用和安全性。 功能特性 1、Web应用攻击防护 基于语义识别防护引擎防御SQL注入,XSS攻击,Webshell添加,目录遍历扩…

      2022年9月22日
      60300
    • 电脑svchost占用内存过高怎么解决

      svchost占用内存过高解决方法: 1、找到计算器,右击打开,选择【管理】。 2、然后在左侧框中,选择【服务和应用程序】中的【服务】 3、然后在右侧中,寻找到【Superfetch】,然后双击打开。 4、在【启动类型】中,更改到【手动】。 5、然后【确定】,就可以了。 6、重启电脑以后,svcho…

      2022年9月2日
      1.2K00
    • mysql触发器如何取消

      在mysql中,可以使用DROP TRIGGER语句来取消已经定义的触发器,语法为“DROP TRIGGER 表名.触发器名;”或者“DROP TRIGGER 触发器名; ”,触发器的名称在当前数据库中必须具有少数的名称;“表名”选项若不省略则表示取消与指定表关联的触发器。 本教程操作环境:wind…

      2022年9月20日
      63500
    • Redis之sentinel哨兵集群怎么部署

      一、Redis sentinel哨兵集群概述 (1)Redis哨兵概述 *Sentinel 哨兵:这是一个分布式系统,该进程是用于监控Redis集群中Master主服务器的工作状态,在Master主服务器发生故障时,可以实现Master和Slave服务器的秒级切换,保证系统有一个Master主服务器…

      2022年9月10日
      74800
    • MySQL索引最左匹配原则是什么

      准备 为了方面后续的说明,我们首先建立一个如下的表(MySQL5.7),表中共有5个字段(a、b、c、d、e),其中a为主键,有一个由b,c,d组成的联合索引,存储引擎为InnoDB,插入三条测试数据。强烈建议自己在MySQL中尝试本文的所有语句。 CREATE TABLE `test` ( `a`…

      2022年9月8日
      8.5K00
    • node服务CPU过高如何解决

      帮同事看一个CPU过高的问题 CPU涨了后掉不下去,最终同事排查出来是 某个依赖升级大版本后下线了默认的公共 redis 配置,(项目较老,很久没人动过)但需要业务方代码里自己配置关闭 redis服务。业务方有信息gap,所以不知道要关闭redis,导致上线后,一直在重试连接redis(多一个请求就…

      2022年9月16日
      2.0K00
    • 怎么实现APT28样本分析

      1 背景 奇幻熊组织又被人们称为APT28,他是俄罗斯的间谍组织,2019年,奇幻熊组织的活动异常频繁。从今年年初的智囊团入侵事件,到随后的大小攻击,都有APT28的身影。奇幻熊的历史已经非常悠久,2016年,该组织因为入侵美国民主党全国委员会的电子邮件,试图影响美国总统大选而闻名于世。鱼叉式网络钓…

      2022年9月16日
      47200
    • windows xbox控制台如何打开

      xbox控制台打开方法: 1、打开菜单,然后在目录中找到X开头的字母,即可找到Xbox控制台小帮手。 2、在搜索框中搜索xbox,即可找到“Xbox 控制台小帮手”进行打开。 3、打开Xbox后,在主界面中,点击“以后再说,我想使用Xbox主机小帮手应用”后即可进入登录界面。 4、这个时候,我们需要…

      2022年9月22日
      88500
    • 如何分析SQLMap和SQLi注入防御

      名列前茅部分:Sqlmap使用 1.1 sqlmap介绍 1. 前边说了一些sql注入的基础语句,但是手工注入很麻烦,我们可以借助sqlmap这个强大的sql注入工具,进行数据的获取. 2. sqlmap介绍 (1)#sqlmap是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数…

      2022年9月16日
      71600
    注册PingCode 在线客服
    站长微信
    站长微信
    电话联系

    400-800-1024

    工作日9:30-21:00在线

    分享本页
    返回顶部