『高级篇』docker之开发课程服务(15)

栏目: Java · 发布时间: 7年前

内容简介:这次一起编写课程服务。之前的用户服务,用户EdgeSerivce,用户信息,都已经开发完毕了,开始开发课程服务,对外的是dubbo接口,需要访问后端的数据库。源码:https://github.com/limingios/msA-docker基于dubbo的服务,一般先定义api接口,前面的都是基于thrift的,我们先写一个thrift的文件,然后根据配置文件升成对应的api,dubbo我们相当于先手写一个api的模块。

这次一起编写课程服务。之前的用户服务,用户EdgeSerivce,用户信息,都已经开发完毕了,开始开发课程服务,对外的是dubbo接口,需要访问后端的数据库。源码:https://github.com/limingios/msA-docker

『高级篇』docker之开发课程服务(15)

开发课程服务模块

基于dubbo的服务,一般先定义api接口,前面的都是基于thrift的,我们先写一个thrift的文件,然后根据配置文件升成对应的api,dubbo我们相当于先手写一个api的模块。

『高级篇』docker之开发课程服务(15)

稍微复杂

  • 总体思想

    >就不在复制代码了只通过截图来讲述功能,可以参考源码,本次跟用到了上次springboot集成dubbo的方式。

  1. course-dubbo-service-api 是负责提供接口的服务
  2. course-dubbo-service 是course-dubbo-service-api的实现
  3. course-dubbo-service 需要依赖原始的user-thrift-service-api的原生DTO类 和 user-thrift-service中的方法实现。
  4. course-dubbo-service调用user-thrift-service 是用过thrift的方式完成的调用。因为user-thrift-service本身就是通过thrift生成对应的 java 类。

『高级篇』docker之开发课程服务(15)

『高级篇』docker之开发课程服务(15)

  • user-thrift-service 和 user-thrift-service-api
  1. user-thrift-service-api 做了thrift的修改,增加了老师的DTO和ID来获取用户的信息,所以需要重新通过thrift命令生成对应的java类
  2. user-thrift-service 实现了新增的通过ID来获取用户的信息的接口,并增加了UserMapper
  3. user数据库中增加了一张关联表teacher表

『高级篇』docker之开发课程服务(15)

『高级篇』docker之开发课程服务(15)

『高级篇』docker之开发课程服务(15)

『高级篇』docker之开发课程服务(15)

『高级篇』docker之开发课程服务(15)

『高级篇』docker之开发课程服务(15)

  • course-dubbo-service-api 和 course-dubbo-service
  1. course-dubbo-service pom中引入了springboot,mysql的驱动,thrift,springboot-dubbo,user-thrift-service.jar,user-thrift-service-api.jar
  2. course-dubbo-service 中注入thrift微服务的访问service,获取教师针对课程的教程信息访问user-thrift-service的微服务,通过thrift的方式。
  3. application.properties 配置dubbo的配置,数据库配置,user-thrift-service的地址和端口
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.3.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.idig8</groupId>
    <artifactId>course-dubbo-service</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>io.dubbo.springboot</groupId>
            <artifactId>spring-boot-starter-dubbo</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.thrift</groupId>
            <artifactId>libthrift</artifactId>
            <version>0.10.0</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.44</version>
        </dependency>
        <dependency>
            <groupId>com.idig8</groupId>
            <artifactId>course-dubbo-service-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.idig8</groupId>
            <artifactId>user-thrift-service</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.idig8</groupId>
            <artifactId>user-thrift-service-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

</project>

『高级篇』docker之开发课程服务(15)

『高级篇』docker之开发课程服务(15)

『高级篇』docker之开发课程服务(15)

『高级篇』docker之开发课程服务(15)

PS:基本的课程开发思路就是这样,别人有的微服务调用,只实现自己所属的。

百度未收录

>>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!

>>原文链接地址:上一篇:

已是最新文章


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JAVA核心技术卷2

JAVA核心技术卷2

Cay S. Horstmann、Gary Cornell / 陈昊鹏、王浩、姚建平 / 机械工业出版社 / 2008-12 / 118.00元

《JAVA核心技术卷2:高级特征》是Java技术权威指南,全面覆盖Java技术的高级主题,包括流与文件、XML、网络、数据库编程、高级Swing、高级 AWT、JavaBean构件、安全、分布式对象、脚本、编译与注解处理等,同时涉及本地化、国际化以及Java SE 6的内容。《JAVA核心技术卷Ⅱ:高级特征》对Java技术的阐述精确到位,叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Jav......一起来看看 《JAVA核心技术卷2》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具