183. 普通传统项目改造为SOA 架构

说明:本次改造是在上面两次博客的基础上进行的

 

109417e3741286d397bb15c7eba0ef4660d.jpg

1.传统==》SOA架构

1.1 改造 表现层与业务层关系

(1)将项目打包方式改为war

7448f35e4bfa2e537151528a71c6c36719b.jpg

4a4e539bbbe6bdecd8e4e2de9b90d1b11db.jpg

(2) 从web 项目下面复制一份到 工程下

16c10612e64d2094a222ced5fd27c4f0aa3.jpg

(3)service的web.xml  删除掉 编码过滤配置 及 前端控制器

df0cdfdd3a63a13baa2a5cfaa9ee57d11b4.jpg

删除web工程中web.xml的 spring加载配置

5f4e93bd947ba5a5f8f2775f1975f724393.jpg

(4) 将spring的相关配置文件 移动到service工程下

8e58e986d3ccf742321e777a2d2b19c2c3c.jpg

 

(5) 将web工程从后台父工程下面移出来(与后台父工程平级

c8c9861cc435161c3b1dccd451737db225f.jpg

666d8d4e1e3bb4ed135fba5af17b89e2a2d.jpg

重新导入web工程

0f510ba3c6f9741aa8b66d774cd41d4a712.jpg

删除 web工程与后台父工程的关系

5d77b9930d2275c82c687cf59c3500b488d.jpg

(6) 将service层的接口提出

因为当service工程改造为war类型,web工程是无法依赖的

新建service层接口 工程

9d276b7c7e905191aeaa4949ee9f8b962dc.jpg

将业务层的接口代码剪切到接工程中

563ed606ac11b1e7e6731caf684efc9f4da.jpg

6dd3aea70478ee2409566be3d65def8bb23.jpg

 

820aa13a6b6772e55bc84892c41a9189afd.jpg

 

f3c433626fbfc0c2954322835d6a1fa58fc.jpg

26df8b04cce38130be8ee215774ecc66702.jpg

(7) 表现层(web工程)改造

(7.1) 父工程是总父工程了

7093b2973aba7289042c90f43d1d6c35608.jpg

(7.2) pom.xml  添加内容

  a. 引入spring的坐标

  b. 引入service接口工程 坐标

 c.  引入Tomcat插件

c51badb6f1643f07ce4abf74ff4ccf2d370.jpg

 

8aa7d055db1796122d3bb18278e98f75d43.jpg

bddbda5fd9ee34b6fe6b3506616d5affc53.jpg

1.2 引入dubbo(2处 在service 配置文件 及 springmvc配置文件)

 

首先给两个配置文件分别引入dubbo坐标

cfa73c483f5aad2dcc44068a8a4b7ea0345.jpg

1203151a265b58e4bb3a4be717e0acdc695.jpg

    
        <!-- 发布服务:把接口service发布Zookeeper注册中心 -->
        <!-- 提供方应用信息,用于计算依赖关系 -->
        <dubbo:application name="guang-manager-service"/>
        <!-- 使用multicast广播注册中心暴露服务地址 -->
        <!-- <dubbo:registry address="multicast://224.5.6.7:1234"/> -->
        <!-- 使用dubbo通过Zookeeper协议注册服务 -->
        <dubbo:registry protocol="zookeeper" address="192.168.76.133:2181"/>
        <!-- 用dubbo协议在20880端口暴露服务 -->
        <dubbo:protocol name="dubbo" port="20880" />
        <!-- 声明需要暴露的服务接口 -->
        <!-- 创建需要发布对象-->
        <bean id="itemServiceImpl"
        
        class="cn.guang.shopping.manager.service.impl.ItemServiceImpl"></bean>
        <!-- 发布服务 -->
        <dubbo:service interface="cn.guang.shopping.manager.service.ItemService"
        ref="itemServiceImpl" />

上面的代码当做模板使用

4e33242aef59f9d2482c2d50665041bdabc.jpg

引入dubbo的约束

xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"

http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd

 

d38484df26d304a3fdacdb9d011e74ab7e7.jpg

约束出现的叉叉解决方法:

                                         https://my.oschina.net/springMVCAndspring/blog/2050498

d0a7dc2c62dfc25d76b7e801ffa368694f6.jpg

 

springmvc中引入dubbo

f96d1524722f9f6e60a16b60b4eeb8157c8.jpg

约束与上面配置一样

ab819fed2cd3195167609792a98ca4262c9.jpg

1.3 安装zookeeper

安装教程:

https://my.oschina.net/springMVCAndspring/blog/2050353

2. 测试

2.1  打包

因为项目进行了较大改造  所以首先要重新打包

2ec50f84c4eb7cd095753ac156fcfba6ed5.jpg

 

3124bfc84929540e19b98839ab6b2fe5965.jpg

c2a089f4b1c3235e249ebc1a411f9bad7b3.jpg

20eaf04694a037ffaa94919f0aefbaba476.jpg

2.2 启动项目

启动生产者:

                ecdbd92a215c0b05e94b5429aaec6f40a8e.jpg

001cf904f268cbe35fb5bb38fd3ff69b2d2.jpg

启动消费者:

2e06beb8a2695c7e0429ffba6363b032e76.jpg

99dd5f44d2bfed9449141831918211c2ba9.jpg

2.3  访问项目

没有序列化实体类:

acc6f87203f8c923e3e1ba302f45b2ce7ae.jpg

34aca581fd24e7a257905a29790d11a3717.jpg

再次访问:成功

da7e616896932c5df835a69efc9e278d2de.jpg

项目改造完成

3. 分享源码

https://gitee.com/Luck_Me/SOA/attach_files

33702e686e7d2e5bd8cfdbb00c219a4137e.jpg

转载于:https://my.oschina.net/springMVCAndspring/blog/2050497

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值