dubbo框架前后端分离

dubbo框架demo项目前后端分离

把之前自己搭建的dubbo框架demo项目记录一下
创建主项目:在这里插入图片描述项目模块pom.xml配置:

 <modules>
  	<module>fushan-api</module>
  	<module>fushan-service</module>
  	<module>fushan-web</module>
    <module>fushan-consumer</module>
  </modules>

创建api子模块项目:

在这里插入图片描述
创建实现api接口子模块:

在这里插入图片描述
在pom.xml文件引入api子模块依赖:

<!-- 添加继承依赖 -->
<dependency>
	<groupId>com.example</groupId>
	<artifactId>fushan-api</artifactId>
	<version>0.0.1-SNAPSHOT</version>
</dependency>

创建服务提供者子模块:
在这里插入图片描述

pom.xml分别引入api、service两个子模块:

 <!-- 添加继承依赖 -->
 <dependency>
 	<groupId>com.example</groupId>
 	<artifactId>fushan-api</artifactId>
 	<version>0.0.1-SNAPSHOT</version>
 </dependency>
 <dependency>
 	<groupId>com.example</groupId>
 	<artifactId>fushan-service</artifactId>
 	<version>0.0.1-SNAPSHOT</version>
 </dependency>

dubbo-producer.xml文件配置:
前提是自己启动一个zookeeper注册服务中心,网上有教程

<!-- 服务提供方应用名,用于计算依赖关系 -->
	<dubbo:application name="fushan-web"></dubbo:application>
	
    <!-- 定义 zookeeper 注册中心地址及协议 -->
    <dubbo:registry protocol="zookeeper" address="192.168.2.123:2181"
                    client="zkclient" />

    <!-- 定义 Dubbo 协议名称及使用的端口,dubbo 协议缺省端口为 20880,如果配置为 -1 或者没有配置 port,则会分配一个没有被占用的端口 -->
    <dubbo:protocol name="dubbo" port="-1" />

    <!-- 声明需要暴露的服务接口 -->
    <dubbo:service interface="com.fushanapi.service.StudentInfoService" ref="studentInfoService" timeout="2000" loadbalance="random"/>
    <dubbo:service interface="com.fushanapi.service.LogService" ref="logService" timeout="2000" loadbalance="random"/>
   	<dubbo:service interface="com.fushanapi.service.MD5Service" ref="MD5Service" timeout="2000" loadbalance="random"/>
    <dubbo:service interface="com.fushanapi.service.MenuChildService" ref="menuChildService" timeout="2000" loadbalance="random"/>
   	<dubbo:service interface="com.fushanapi.service.MenuService" ref="menuService" timeout="2000" loadbalance="random"/>
   	<dubbo:service interface="com.fushanapi.service.RoleMenuService" ref="roleMenuService" timeout="2000" loadbalance="random"/>
   	<dubbo:service interface="com.fushanapi.service.RoleService" ref="roleService" timeout="2000" loadbalance="random"/>
   	<dubbo:service interface="com.fushanapi.service.TeacherService" ref="teacherService" timeout="2000" loadbalance="random"/>
   	<dubbo:service interface="com.fushanapi.service.UserService" ref="userService" timeout="2000" loadbalance="random"/>
   	
   	
   	
    <!-- 和本地 bean 一样实现服务 -->
    <bean id="studentInfoService" class="com.fushanservice.service.StudentServiceImpl" />
    <bean id="logService" class="com.fushanservice.service.LogServiceImpl" />
    <bean id="MD5Service" class="com.fushanservice.service.MD5ServiceImpl" />
    <bean id="menuChildService" class="com.fushanservice.service.MenuChildServiceImpl" />
    <bean id="menuService" class="com.fushanservice.service.MenuServiceImpl" />
    <bean id="roleMenuService" class="com.fushanservice.service.RoleMenuServiceImpl" />
    <bean id="roleService" class="com.fushanservice.service.RoleServiceImpl" />
    <bean id="teacherService" class="com.fushanservice.service.TeacherServiceImpl" />
    <bean id="userService" class="com.fushanservice.service.UserServiceImpl" />

创建服务消费者子模块:

在这里插入图片描述

pom.xml文件配置引入api子模块依赖:

<!-- 添加继承依赖 -->
<dependency>
	<groupId>com.example</groupId>
	<artifactId>fushan-api</artifactId>
	<version>0.0.1-SNAPSHOT</version>
</dependency>

dubbo-consumer.xml文件配置:
当然前提是已经启动过zookeeper注册中心服务

     <!-- 消费方应用名称 -->
	<dubbo:application name="fushan-consumer" />
	   
    <!-- 定义 zookeeper 注册中心地址及协议 -->
    <dubbo:registry protocol="zookeeper" address="192.168.2.123:2181"
                    client="zkclient" />

    <!-- 使用注解方式创建远程服务代理方式,在controller中通过@Autowired注解-->
    <dubbo:reference id="studentInfoService" interface="com.fushanapi.service.StudentInfoService"/>
    <dubbo:reference id="logService" interface="com.fushanapi.service.LogService"/>
    <dubbo:reference id="MD5Service" interface="com.fushanapi.service.MD5Service"/>
    <dubbo:reference id="menuChildService" interface="com.fushanapi.service.MenuChildService"/>
    <dubbo:reference id="menuService" interface="com.fushanapi.service.MenuService"/>
    <dubbo:reference id="roleMenuService" interface="com.fushanapi.service.RoleMenuService"/>
    <dubbo:reference id="roleService" interface="com.fushanapi.service.RoleService"/>
    <dubbo:reference id="teacherService" interface="com.fushanapi.service.TeacherService"/>
    <dubbo:reference id="userService" interface="com.fushanapi.service.UserService"/>

到此 dubbo框架前后端分离大体上完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值