dubbo接口测试_Dubbo--->day02

Dubbo创建项目

53887955f809d834f9feec6ecdef062b.png

按照day01天的架构流程图,在注册时候需要Zookeeper,这里需要引入Zookeeper。


1、创建Parent工程,用于统一管理资源。

2、创建pojo工程,继承Parent工程。

创建实体类,实现序列化接口。

3、创建Mapper工程,继承Parent工程,并修改pom.xml配置文件。

3.1、在配置文件中,找到父工程里面关于操作数据库的坐标,将该坐标添加到依赖当中。	
3.2、在配置文件中,将pojo坐标添加到依赖当中。(因为要操作实体,所以将pojo坐标进行注入到依赖中)
3.3、在配置文件中,将资源拷贝插件的坐标添加到依赖中。(因为Mapper的映射文件并没有放到resouce目录下,在打包的时候是找不到该xml文件的,所以要配置资源拷贝文件。)

4、创建provider工程,工程类型pom类型,该工程作为一个聚合工程,并该继承Parent工程。

4.1、创建user-interface模块,在pom.xml文件中将pojo的坐标注入到依赖中。
		该模块用于存放服务的接口,而定义接口需要实体类型,所以需要将pojo的坐标注入到依赖中

4.2、创建user-service模块,在pom.xml文件中将mapper、interface,dubbo、zkczlient坐标注入到依赖中。
		因为要做接口的实现类,所以依赖interface坐标。
		因为要做服务的具体实现,所以依赖dubbo坐标。
		dubbo导入进来后,需要连接Zookeeper注册中心,所以依赖zkclient坐标。
		该项目最后也是要操作数据库的,所以依赖mapper坐标,当注入mapper坐标后,会级联注入pojo坐标。

 注意:
 关于dubbo于spring的jar注入问题,有两种解决方案:
		1、依赖dubbo的坐标导入spring的容器所依赖的jar包,在使用过程中缺少spring的组件时,需要手动添加坐标。
		2、在添加dubbo的坐标中剔除已包含的spring的jar包,自己手动导入所有使用spring组件的坐标。	

5、配置provider

5.1、添加spring配置文件。
		数据源(和mybaits进行了整合)、扫描、事务。
5.2、添加mybtais配置文件。
		分页插件。
5.3、添加db.properties数据库连接文件。
5.4、添加dubbo配置文件。

              需要注意:
			按照dubbo架构图的执行流程,要启动Provider,首先要启动的是spring容器,但默认的是依赖于Dubbo的Main类下面的main方法来启动spring,
而Dubbo会自动去找类路径下的META-INF/spring/*.xml文件,那么其它的spring配置文件就被忽略无法启动了,这时需要将其他的spring文件导入到该dubbo.xml文件中,当解析dubbo配置文件的时候,就可以将其余的spring配置文件给解析了。

6、编写测试类,测试是否能够发布成功

因为项目是Provider,按照架构图的执行流程,在启动时需要注册Registory,所以要连接Zookeeper,那么首先要启动Zookeeper。

8f8d0924a40512dc243a8ac8ee8f3a0d.png

7、创建consumer,工程类型为pom,该工程作为聚合工程,并继承父工程Parent。

	7.1、创建dubbo-user-protal(war)模板。
		该模板负责处理客户端请求,可以理解为controller。
	       注入单元测试、日志、spring、dubbo和tomcat插件的依赖。
	7.2、创建dubbo-user-protal-service(war)模板,该模板里面存放着业务层的逻辑代码。
		该模板是将整个项目的业务层给分离出来了放入到了这个模板中。
		在pom.xml文件中添加坐标依赖。
		接口模块、pojo工程、spring-context、spring-beans
	7.2.1、配置web.xml文件。

8、启动tomcat。

启动前需要将项目的jar包进行打包,具体看依赖。

8aadc2503b734dd24f34bc4494fd9836.png

服务中的增删改查的实现

增加数据过程

1、在mapper项目中的mapper接口中,添加新增数据的方法。

2、在mapper的映射文件中,添加实现数据的标签。

3、具体的mapper应该由服务来调用,那么先创建服务的接口dubbo-user-interface,在接口创建完成后,因为是项目分离,需要在service项目中去创建实现类。

4、创建接口的实现类,那么在发布的时候,服务最终执行的就service中的代码。

通俗讲,加上@Service注解,调用mapper操作数据库,使用@Autowired自动装配。

mapper是在之前依赖关系中已经被注入了,所以可以直接调用。

4955e4b05aaa70adc2961554eb9fe5fb.png

5、Provider.xml配置文件

479946d840eb90f89f17c3ecc4b07607.png

6、配置Assembly打包插件

6.1、需要在项目的根下创建一个目录,名称为:assembly。
6.2、将插件中的bin和conf文件拷贝到assembly中。
6.3、将conf目录下的dubbo.properties文件中内容清空。
6.4、需要在assembly的根目录下创建一个assembly.xml的配置文件。

63fd2e13e3e4d7c7b15aad5f1fe68b67.png
6.2

0041be1ed3dd3f3d4d2198a2e0696367.png
需要在assembly的根目录下assembly.xml的配置文件。
6.5、需要修改项目的pom文件添加assembly的打包插件。

84b00f87291bf1b2aea616ebd1cbffc2.png
6.6、执行Maven的Install命令。
		Maven插件执行是依赖于命令的。
6.7、将打好的包上传到Linux中,并解压到指定文件夹中。

8bc484edb31983ff2023a4b8483d321c.png
将Provider打包
6.8、找到解压后的文件夹,该文件夹中存有3个目录,bin、conf、lib,在bin目录中可以通过start.sh启动服务,当服务启动后,会生成该文件的根下生成logs文件夹,里面存有日志文件,
通过访问日志文件来查看服务是否启动成功

24b87a090649d0d7fffe91565be433c8.png
找到Provider解压过后的文件,在bin目录下通过start.sh启动

消费者中的增删改查的实现

1、创建业务接口

423db4bf03905efedf407b5d6e2f4ba8.png

2、实现服务项目中业务层接口,调用服务项目中的业务层方法,去操作数据库。

31a63d4398db0f7677974e60cd3aeef0.png

3、在Controller中调用业务项目中的实现方法

26d718b557262283b5e8b3802109d0a6.png

4、编写前端页面。

5、配置consumer.xml文件

fb0eb4fc718c3907c82560e4b5746f22.png

6、在Linux中启动tomcat,用热部署部署项目。

7、选中要部署的项目,右键Run As。

8be153e474a0648646cd9347831acb60.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值