Mapper的声明没有任何变化,而PersonServiceImpl依然保有对接口PersonService的实现,区别在于后者来自api模块
唯一的区别在于PesonServiceImpl类的注解,由原有的@Service变更为@DubboService —— 这是唯一的区别!
3. Controller迁移到dubbo-nacos-consumer
文章插图
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.example</groupId><artifactId>dubbo-nacos-api</artifactId><version>0.0.1-SNAPSHOT</version></dependency>consumer作为外部可访问的web服务,自然需要持有web相关依赖项
同时,与provicer相同,其与api模块保持依赖关系
package com.example.dubbonacosconsumer.controller;import com.example.dubbonacosapi.model.Person;import com.example.dubbonacosapi.service.PersonService;import org.apache.dubbo.config.annotation.DubboReference;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController@RequestMapping("/person")public class PersonController {@DubboReferencePersonService service;@PostMapping("/insert")public Integer insert(Person person) {return service.insert(person);}@PostMapping("/update")public Integer update(Person person) {return service.update(person);}@PostMapping("/delete")public Integer delete(int id) {return service.delete(id);}@GetMapping("/select")public List<Person> select() {return service.select();}}留意PersonService的引入方式:不再是@Autowired,而是变更为@DubboReference —— 这是唯一的区别!
4. Consumer和Provider的配置项这里我们依然沿用上一节讲到的知识——以nacos作为配置中心
二者同时仅在本地保留一个bootstrap.properties配置文件,application.properties托管给nacos
文章插图
# Nacos帮助文档: https://nacos.io/zh-cn/docs/concepts.html# Nacos认证信息spring.cloud.nacos.config.username=nacosspring.cloud.nacos.config.password=nacosspring.cloud.nacos.config.contextPath=/nacos# 设置配置中心服务端地址spring.cloud.nacos.config.server-addr=127.0.0.1:8848# Nacos 配置中心的namespace 。需要注意,如果使用 public 的 namcespace ,请不要填写这个值,直接留空即可# spring.cloud.nacos.config.namespace=# 应用名称spring.application.name=dubbo-nacos-consumer# Nacos帮助文档: https://nacos.io/zh-cn/docs/concepts.html# Nacos认证信息spring.cloud.nacos.config.username=nacosspring.cloud.nacos.config.password=nacosspring.cloud.nacos.config.contextPath=/nacos# 设置配置中心服务端地址spring.cloud.nacos.config.server-addr=127.0.0.1:8848# Nacos 配置中心的namespace 。需要注意,如果使用 public 的 namcespace ,请不要填写这个值,直接留空即可# spring.cloud.nacos.config.namespace=# 应用名称spring.application.name=dubbo-nacos-provider内容均为nacos相关配置,以及各自声明了自己的应用名称(spring.application.name)
然后是他们在nacos上托管的配置数据:
文章插图
注意,新创建配置的Data Id需要与他们的应用名称同名
文章插图
provider需要持有mysql相关配置
文章插图
consumer作为controller的持有者,需要声明外部的可访问端口
全部的移植工作到这里就完毕了!
我们分别执行provider、consumer两个独立进程
经验总结扩展阅读
- 万圣节象征着什么意义
- 2022流行的老公生日祝福语
- 2022流行的老婆生日祝福语
- 2022流行的万圣节短信祝福语
- 小米手机刷机怎么刷(小米线刷的刷机流程)
- 2022流行的生日祝福语
- 时序数据库TDengine详细安装+集成流程+问题解决
- 2022万圣节主题的短信祝福
- 流行的万圣节祝福语
- 霸气好听的物流公司起名大全 寓意好的运输公司名字