前言
dubbo一般的都是使用zookeeper作为注册中心,但是也可以使用nacos作注册中心,本文记录了使用idea在springboot下整合dubbo、nacos、mybatis流程,用于将来查看以及提供给小白傻瓜式整合步骤,含源码。
开发工具:idea
一、搭建工程框架
整体框架
新建maven空工程作为父工程
删除src文件夹,仅作为一个空的父工程:
新建服务提供者provider模块
服务提供者需要操作数据库,所以这里添加了mybatisplus、nacos、dubbo
删除没用的文件:
新建消费者 consumer模块
消费者不需要连接数据库,但是需要对外开放接口,所以模板选择了nacos、dubbo、web
新建公共接口interface模块
删除模块没用的文件后的工程构架:
二、各模块代码
2.1服务提供者 boot-user-service-provider
代码构架
pom文件依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.yunjia.gmall</groupId>
<artifactId>boot-user-interface</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-nacos</artifactId>
<version>2.7.4.1</version>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
</dependency>
<!-- mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
配置文件application.yaml
server:
port: 8010
spring:
datasource:
url: jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
application:
name: boot-user-service-provider
#需要将order-service这个服务,注册到本地8848的注册中心上去,所以我们需要指定注册中心的地址
cloud:
nacos:
# 注册中心 也就是连接到哪个nacos上
discovery:
server-addr: localhost:8848
#