- 准备工作
- 1,准备mysql服务环境
- 2,准备redis服务环境
- 3,准备zookeeper服务环境
- 4,准备逆向生成bean的xml配置文件
- 5,准备slf4j日志xml配置文件
- 6,准备一个sql脚本
- 1,搭建创建服务工程
- 1,创建一个空的父工程,用来统一管理依赖
- 2,创建一个interface接口工程,主要存放业务bean,接口类
- 3,创建一个消费者工程,主要是和web前端进行交互
- 4,创建一个服务提供者,给消费者提供业务服务,主要实现业务接口
- 2,配置pom文件
- 1,连接数据库驱动
- 2,springboot集成redis起步依赖
- 3,springboot集成zookeeper依赖
- 4,dubbo集成springboot起步依赖
- 5,springboot集成mybatis起步依赖
- 6,mybatis逆向生成插件
- 7,自定义接口依赖
- 8,slf4j日志依赖
- 1,自定义接口依赖
- 2,slf4j日志依赖
- 3,springboot集成zookeeper依赖
- 4,dubbo集成springboot起步依赖
- 3,设置配置中心
- 4,编写业务代码
- 5,测试结果
- 6,打包部署
- 本文永久更新地址:
准备工作
1,准备mysql服务环境
使用docker创建一个mysql服务
docker run -d --name mysql -v ~/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql#下载并启动mysql docker exec -ti mysql bash#进入mysql mysql -uroot -p123456#登录mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;#开启远程访问 FLUSH PRIVILEGES; EXIT;
2,准备redis服务环境
docker run -itd -p 6379:6379 --name redis -v /home/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data redis redis-server /etc/redis/redis.conf#下载并开启redis
docker exec -it redis /bin/sh#进入redis
redis-cli#登录redis
config set requirepass 123456 #修改redis密码
3,准备zookeeper服务环境
docker run -p 2181:2181 --name zookeeper --restart always -d zookeeper #下载并启用zk
docker run -p 2181:2181 --name zookeeper --restart always -d zookeeper #下载并启用zk
下载并启用dubbo-admin,管理zookeeper
docker run -d --name dubbo-admin -v /Applications/workSpace/docker/dubbo/data:/data -p 7001:8080 -e admin.registry.address=zookeeper://172.xx.0.4:2181 -e admin.config-center=zookeeper://172.xx.0.4:2181 -e admin.metadata-report.address=zookeeper://172.xx.0.4:2181 --restart=always apache/dubbo-admin#下载并启用
#172.xx.0.4这个ip就是安装zookeeper后的服务ip
#docker查看容器的ip地址
#查看Docker的底层信息。
#docker inspect 会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息
# 列出所有容器的IP地址
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
# 查看容器所有状态信息;docker inspect NAMES
# 查看 容器ip 地址docker inspect --format='{{.NetworkSettings.IPAddress}}' ID/NAMES
# 容器运行状态docker inspect --format '{{.Name}} {{.State.Running}}' NAMES
# 查看进程信息docker top NAMES
# 查看端口;(使用容器ID 或者 容器名称)docker port ID/NAMES
浏览器输入localhost:7001,访问账号密码 root/root
4,准备逆向生成bean的xml配置文件
5,准备slf4j日志xml配置文件
logback
debug
%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
${log.path}
${log.path}.%d{yyyy-MM-dd}.zip
%date %level [%thread] %logger{36} [%file : %line] %msg%n
6,准备一个sql脚本
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL,
`age` int DEFAULT NULL,
`password` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`role` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8mb3;
-- ----------------------------
-- Records of student
-- ----------------------------
BEGIN;
INSERT INTO `student` VALUES (1, 'zhangsan', 18, '123456', NULL);
INSERT INTO `student` VALUES (3, 'wangwu', 14, '123456', NULL);
INSERT INTO `student` VALUES (4, '赵六', 34, '123456', NULL);
INSERT INTO `student` VALUES (5, '田七', 34, '123456', NULL);
INSERT INTO `student` VALUES (6, '111', 15, NULL, NULL);
INSERT INTO `student` VALUES (8, '张二麻子', 17, '123456', NULL);
INSERT INTO `student` VALUES (9, '张二麻子', 17, '123456', NULL);
INSERT INTO `student` VALUES (10, '????', 17, NULL, NULL);
INSERT INTO `student` VALUES (11, '????', 17, NULL, NULL);
INSERT INTO `student` VALUES (12, '张二麻子', 17, NULL, NULL);
INSERT INTO `student` VALUES (13, '张二麻子', 17, '123456', NULL);
INSERT INTO `student` VALUES (15, 'admin', 18, 'admin', 'admin');
INSERT INTO `student` VALUES (16, 'test002', 22, '123', '123');
INSERT INTO `student` VALUES (17, 'test003', 22, '123', '123');
INSERT INTO `student` VALUES (18, 'test003', 22, '123', '123');
INSERT INTO `student` VALUES (19, 'test004', 22, '123', '123');
INSERT INTO `student` VALUES (20, 'test005', 22, '123', '123');
INSERT INTO `student` VALUES (21, 'test006', 18, 'admin', 'admin');
INSERT INTO `student` VALUES (22, 'test007', 18, 'admin', 'admin');
INSERT INTO `student` VALUES (23, 'test0081', 18, '123', 'test005');
INSERT INTO `student` VALUES (24, 'test0082', 18, '123', 'test005');
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;
1,搭建创建服务工程
1,创建一个空的父工程,用来统一管理依赖
logback debug %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n ${log.path} ${log.path}.%d{yyyy-MM-dd}.zip %date %level [%thread] %logger{36} [%file : %line] %msg%n
6,准备一个sql脚本
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL,
`age` int DEFAULT NULL,
`password` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`role` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8mb3;
-- ----------------------------
-- Records of student
-- ----------------------------
BEGIN;
INSERT INTO `student` VALUES (1, 'zhangsan', 18, '123456', NULL);
INSERT INTO `student` VALUES (3, 'wangwu', 14, '123456', NULL);
INSERT INTO `student` VALUES (4, '赵六', 34, '123456', NULL);
INSERT INTO `student` VALUES (5, '田七', 34, '123456', NULL);
INSERT INTO `student` VALUES (6, '111', 15, NULL, NULL);
INSERT INTO `student` VALUES (8, '张二麻子', 17, '123456', NULL);
INSERT INTO `student` VALUES (9, '张二麻子', 17, '123456', NULL);
INSERT INTO `student` VALUES (10, '????', 17, NULL, NULL);
INSERT INTO `student` VALUES (11, '????', 17, NULL, NULL);
INSERT INTO `student` VALUES (12, '张二麻子', 17, NULL, NULL);
INSERT INTO `student` VALUES (13, '张二麻子', 17, '123456', NULL);
INSERT INTO `student` VALUES (15, 'admin', 18, 'admin', 'admin');
INSERT INTO `student` VALUES (16, 'test002', 22, '123', '123');
INSERT INTO `student` VALUES (17, 'test003', 22, '123', '123');
INSERT INTO `student` VALUES (18, 'test003', 22, '123', '123');
INSERT INTO `student` VALUES (19, 'test004', 22, '123', '123');
INSERT INTO `student` VALUES (20, 'test005', 22, '123', '123');
INSERT INTO `student` VALUES (21, 'test006', 18, 'admin', 'admin');
INSERT INTO `student` VALUES (22, 'test007', 18, 'admin', 'admin');
INSERT INTO `student` VALUES (23, 'test0081', 18, '123', 'test005');
INSERT INTO `student` VALUES (24, 'test0082', 18, '123', 'test005');
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;
1,搭建创建服务工程
1,创建一个空的父工程,用来统一管理依赖
1,创建一个空的父工程,用来统一管理依赖
删除src目录,在pom文件中添加
pom
2,创建一个interface接口工程,主要存放业务bean,接口类
点击菜单file-new-module
创建一个maven工程
输入接口工程的名称,选择父工程为刚才新建的工程,点击完成
3,创建一个消费者工程,主要是和web前端进行交互
点击菜单file-new-module,选择spring initializr,就是新建的spring boot工程
消费者需要和前端页面进行交互,需要勾选web和thymeleaf集成,
4,创建一个服务提供者,给消费者提供业务服务,主要实现业务接口
点击菜单file-new-module,选择spring initializr,就是新建的spring boot工程
只需勾选web服务即可
2,配置pom文件
配置服务提供者的配置文件,一个服务提供者需要添加的依赖
1,连接数据库驱动
2,springboot集成redis起步依赖
3,springboot集成zookeeper依赖
4,dubbo集成springboot起步依赖
5,springboot集成mybatis起步依赖
6,mybatis逆向生成插件
7,自定义接口依赖
8,slf4j日志依赖
3,springboot集成zookeeper依赖
4,dubbo集成springboot起步依赖
5,springboot集成mybatis起步依赖
6,mybatis逆向生成插件
7,自定义接口依赖
8,slf4j日志依赖
5,springboot集成mybatis起步依赖
6,mybatis逆向生成插件
7,自定义接口依赖
8,slf4j日志依赖
7,自定义接口依赖
8,slf4j日志依赖
配置消费者的配置文件,需要添加的依赖
1,自定义接口依赖
2,slf4j日志依赖
3,springboot集成zookeeper依赖
4,dubbo集成springboot起步依赖
3,设置配置中心
4,编写业务代码
5,测试结果
6,打包部署
本文永久更新地址:
3,springboot集成zookeeper依赖
4,dubbo集成springboot起步依赖
3,设置配置中心
4,编写业务代码
5,测试结果
6,打包部署
本文永久更新地址:
3,设置配置中心
4,编写业务代码
5,测试结果
6,打包部署
本文永久更新地址:
5,测试结果
6,打包部署
本文永久更新地址:
本文永久更新地址:
https://www.fenxiangbe.com/p/Springboot集成dubbo完整过程(三).html



