当前位置: 首页 > news >正文

网站备案基础知识网站转移 备案

网站备案基础知识,网站转移 备案,wordpress 汉化主题,python做网站视频教程文章目录 前言一、统一配置管理1.添加配置文件2.微服务拉取配置3.配置共享 三、Feign远程调用总结 前言 在上篇文章中介绍了微服务技术栈中Nacos这个组件的概念#xff0c;Nacos除了可以做注册中心#xff0c;同样可以做配置管理来使用。同时我们将学习一种新的远程调用方式… 文章目录 前言一、统一配置管理1.添加配置文件2.微服务拉取配置3.配置共享 三、Feign远程调用总结 前言 在上篇文章中介绍了微服务技术栈中Nacos这个组件的概念Nacos除了可以做注册中心同样可以做配置管理来使用。同时我们将学习一种新的远程调用方式Feign它可以帮助我们优雅的实现http请求的发送。 一、统一配置管理 1.添加配置文件 Nacos除了可以做注册中心同样可以做配置管理来使用。每个微服务可以从Nacos拉取相关配置同时当Nacos中的配置发生变化的时候可以及时通知到每个微服务。 Nacos一方面可以将配置集中管理另一方可以在配置变更时及时通知微服务实现配置的热更新。 1.添加配置文件的方法在配置管理右边点击加号按钮。 2.弹出的表单中填写配置信息 1.Data ID[服务名称]-[profile].[后缀名] 2.Group分组默认即可 注意需要热更新的配置核心配置才有放到nacos管理的必要基本不会变更的一些配置还是保存在微服务本地比较好。 微服务要拉取nacos中管理的配置并且与本地的application.yml配置合并才能完成项目启动。因此spring引入了一种新的配置文件bootstrap.yaml文件会在application.yml之前被读取流程如下 2.微服务拉取配置 接下来演示一下从微服务拉取配置 1引入nacos-config依赖 !--nacos配置管理依赖-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId /dependency2添加bootstrap.yaml 3读取nacos配置热更新 Value注解可以帮助我们从配置文件中读取属性的值在这里我们使用一个ConfigurationProperties注解代替Value注解。在user-service服务中添加一个类读取patterrn.dateformat属性。 Data Component ConfigurationProperties(prefix pattern) public class PatternProperties {private String dateformat; }在UserController中直接使用Autowired注解注入这个类即可使用。 Autowiredprivate PatternProperties patternProperties;GetMapping(/now)public PatternProperties now(){return patternProperties;}3.配置共享 其实微服务启动时会去nacos读取多个配置文件例如 [spring.application.name]-[spring.profiles.active].yaml例如userservice-dev.yamluserservice-test.yaml[spring.application.name].yaml例如userservice.yaml [spring.application.name].yaml不包含环境因此可以被多个环境共享不管是dev还是test环境都可以读到userservice.yaml中的配置信息。 当nacos、服务本地同时出现相同属性时优先级有高低之分遵循一个原则nacos优先本地随后。 三、Feign远程调用 以前利用RestTemplate发起远程调用的代码 String urlhttp://userservice/user/order.getUserId(); User user restTemplatel.getForObject(url, User.class);缺点代码可读性差编程体验不统一代码里面出现url还要手动维护参数。 Feign是一个声明式的http客户端官方地址https://github.com/OpenFeign/feign 什么是声明式声明式编程是一种编程范式它指定程序应该做什么而不具体说明怎么做。 Feign的作用就是帮助我们优雅的实现http请求的发送。接下来我们来动手实践使用Feign替代RestTemplate帮助我们发送请求。 1引入依赖在order-service服务的pom文件中引入feign的依赖。 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId /dependency2添加注解在order-service的启动类添加EnableFeignClients注解开启Feign的功能。 3编写Feign的客户端 将Feign的Client抽取为独立模块并且把接口有关的POJO、默认的Feign配置都放到这个模块中提供给所有消费者使用。 1.在父工程中首先创建一个module命名为feign-api。 2.在feign-api中然后引入feign的starter依赖。 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId /dependency3.在feign-api中编写UserClient不要忘记把User也拿到该模块里面来。 FeignClient(userservice) public interface UserClient {GetMapping(/user/{id})User findById(PathVariable(id)Long id); }4.在order-service中使用feign-api不要忘记在opom文件中中引入自己创建的feign-api模块 dependencygroupIdcn.itcast.demo/groupIdartifactIdfeign-api/artifactIdversion1.0/version /dependency5.在OrderService中直接注入feign-api中的UserClient注入完直接使用即可。 Service public class OrderService {Autowiredprivate UserClient userClient;public Order queryOrderById(Long orderId) {//1.查询订单Order order orderMapper.findById(orderId);//2.查询用户User user userClient.findById(order.getUserId());order.setUser(user);//3.返回return order;} }6.启动测试在启动时会直接报错因为UserClient现在在cn.itcast.feign.clients包下而order-service的EnableFeignClients注解是在cn.itcast.order包下不在同一个包无法扫描到UserClient。 解决方法修改order-service的EnableFeignClients注解指定Feign应该扫描的包。 EnableFeignClients(basePackages cn.itcast.feign.client)修改完注解后重启服务在查询订单的同时就可以把用户的信息同时查询了出来即使用Feign替代RestTemplate帮助我们发送请求。 总结 本章介绍了Nacos配置管理和Feign远程调用对于哪些配置需要在Nacos中进行管理哪些需要写到本地还需要根据不同的业务要求来没有统一的标准。Feign可以帮助我们更加优雅的实现http请求的发送且代码维护起来更容易。
http://www.w-s-a.com/news/972186/

相关文章:

  • 建站平台 绑定域名怎么在手机上做网站
  • 做电影网站违法吗莱芜 网站
  • 品牌咨询公司泉州seo不到首页不扣费
  • 做网站做一个什么主题的怎样搭建一个企业网站
  • 做设计的有什么网站桂林论坛网站有哪些
  • 做的网站不能放视频开发公司春联
  • 重庆装修房子可以提取公积金吗长沙优化官网公司
  • 做外贸的网站都有哪些带后台的html网站源码
  • 厦门百度快速优化排名手机系统优化工具
  • 宁波网站制作公司推荐公司建站多少钱
  • 网络营销薪酬公司温州网站优化定制
  • 橙色在网站中的应用淘宝客绑定网站备案号
  • 杭州视频网站建设成都设计院排行
  • 慈溪建设网站盘丝洞app破解无限盘币
  • 关于服装店网站建设的策划方案seo关键词优化软件官网
  • 丰台高端网站建设土巴兔装修贵吗
  • 宽屏网站mysqli pdo wordpress
  • 2022年没封网站直接进入赣州网吧
  • 河南省建设厅证件证件查询网站硬件开发是什么意思
  • tp5做企业网站宿迁房产网租房信息
  • php高级网站开发wordpress不能添加文章
  • 小学校园网站建设付费阅读下载网站开发
  • 如何做招聘网站网站建设中 敬请期待
  • 雅安工程交易建设网站做vip电影网站
  • 网站建设方维网站标题title为什么不能频繁的改
  • 网站建设如何上传文件wordpress列表自定义数据表
  • 摄影课程自学网站科技项目的类型有
  • 未来最紧缺的十大专业长春seo顾问
  • 为什么点不开网站公关公司是做什么的
  • wordpress主要菜单如何对网站页面进行优化