码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Dubbo---使用直连方式 dubbo


    目录

        • 一、直连方式
          • 实现方式:
            • (1)创建服务提供者
              • A、在pom.xml中加入依赖和插件
              • B、创建实体类:User.java
              • C、新建服务接口:UserService.java
              • D、新建接口实现类:UserServiceImpl.java
              • E、创建dubbo配置文件:dubbo-userservice-provider.xml
              • F、在web.xml中配置监听器
              • G、将该项目打成jar包到maven仓库
            • (2)创建服务消费者
              • A、在pom.xml文件中加入服务提供者的jar包,其余和上面服务提供者一样
              • B、创建服务消费者控制器类:UserController.java
              • C、创建dubbo配置文件:dubbo-consumer.xml
              • D、创建spring配置文件:application.xml
              • E、在web.xml文件中配置中央调度器和初始化上下文
              • F、创建展示页面:userDetail.jsp

    一、直连方式

    • 点对点的直连项目:消费者直接访问服务提供者,没有注册中心。消费者必须指定服务提供者的访问地址(url)
    • 消费者直接通过 url 地址访问固定的服务提供者,这个 url 地址是不变的
      在这里插入图片描述

    实现方式:

    (1)创建服务提供者
    A、在pom.xml中加入依赖和插件
    
    
        org.springframework
        spring-context
        4.3.16.RELEASE
    
    
        org.springframework
        spring-webmvc
        4.3.16.RELEASE
    
    
    
    
        com.alibaba
        dubbo
        2.6.2
    
    
    
    
        
            
            
                maven-compiler-plugin
                3.1
                
                    1.8
                    1.8
                
            
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    B、创建实体类:User.java
    public class User implements Serializable {
    
        private Integer id;
        private String username;
        private Integer age;
    	//set,get方法
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    C、新建服务接口:UserService.java
    public interface UserService {
    
        /**
         * 根据用户标识获取用户信息
         * @param id
         * @return
         */
        User queryUserById(Integer id);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    D、新建接口实现类:UserServiceImpl.java
    public class UserServiceImpl implements UserService {
    
        @Override
        public User queryUserById(Integer id) {
            User user = new User();
            user.setId(id);
            user.setUsername("lisi");
            user.setAge(23);
            return user;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    E、创建dubbo配置文件:dubbo-userservice-provider.xml
    
    
    
    
    
    
    
    
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    F、在web.xml中配置监听器
    
       contextConfigLocation
       classpath:dubbo-userservice-provider.xml
    
    
       org.springframework.web.context.ContextLoaderListener
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    G、将该项目打成jar包到maven仓库
    • 服务接口中的方法要给消费者使用,消费者项目需要知道接口名称和接口中的方法名称、参数等。这些信息服务提供者才知道,需要把接口的 class 文件打包为 jar
    • 服务接口项目的类文件打包为 jar, 安装到 maven 仓库,仓库中的提供者 jar 可以被消费者使用
    • 使用 idea 的 maven 窗口执行 install
    (2)创建服务消费者
    A、在pom.xml文件中加入服务提供者的jar包,其余和上面服务提供者一样
    
    
        com.hcz.dubbo
        003-link-userservice-provider
        1.0.0
        compile
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    B、创建服务消费者控制器类:UserController.java
    @Controller
    public class UserController {
    
        @Autowired
        private UserService userService;
    
        @RequestMapping(value = "/user")
        public String userDetail(Model model,Integer id) {
    
            User user = this.userService.queryUserById(id);
            model.addAttribute("user",user);
            return "userDetail";
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    C、创建dubbo配置文件:dubbo-consumer.xml
    
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    D、创建spring配置文件:application.xml
    
    
    
    
    
    
    
        
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    E、在web.xml文件中配置中央调度器和初始化上下文
    
       dispatcherServlet
       org.springframework.web.servlet.DispatcherServlet
       
          contextConfigLocation
          classpath:application.xml,classpath:dubbo-consumer.xml
       
    
    
       dispatcherServlet
       /
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    F、创建展示页面:userDetail.jsp
    
        

    用户详情

    用户标识:${user.id}
    用户名称:${user.username}
    • 1
    • 2
    • 3
    • 4
    • 5

    dubbo服务化最佳实践请看下一篇博客文章!!!

  • 相关阅读:
    Vue项目使用echarts记录
    详解字符编码与 Unicode
    05_Bootstrap插件02
    网易严选,使用uni-app实现,包含后台数据文件
    phpstorm安装xdebug(phpstudy环境下)成功运行
    数据分享 | 全球水系流域河流湖泊污水处理河流类型矢量数据
    2021年下半年信息安全工程师下午真题及答案解析
    面试之并查集
    Zotero安装及基础插件配置
    Codeforces Round 897 (Div. 2) - B. XOR Palindromes - 思维
  • 原文地址:https://blog.csdn.net/m0_67393593/article/details/126327842
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号