文章目录
- 1.OpenFeign介绍
- 2.OpenFeign开发
- 3.OpenFeign的参数传递
- 4.OpenFeign 的最佳实践
- 4.1继承的方式
- 4.2抽取的方式
- 5.服务部署
- 6.spring全家桶复习
大家好,我是晓星航。今天为大家带来的是 远程调用-OpenFeign 相关的讲解!😀
1.OpenFeign介绍
因为Feign的停更维护,我们使用的历来是spring-cloud-starter-openfeign
OpenFeign是Spring Cloud 在 Feign的基础上支持了SpringMVC的注解,如@RequesMapping等等。OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。
2.OpenFeign开发
1.引入依赖
在订单服务中引入我们OpenFeign的依赖
2.通过开启,开启Feign的功能
再启动类中写入 @EnableFeignClients
开启Feign的功能
3.编写客户端
下面为接口单独建类写法:
value
参数指定服务名称的路径,用于拼接在服务的 URL 后面,path
参数用于指定远程服务的基础路径(Base Path)。
因为我们这里要写很多api接口,因此我们便写一个api总接口直接继承一下避免多次重复的写
4.修改远程调用
OrderService
类通过调用 ProductApi
接口来获取订单信息中对应的产品信息
第一个红圈是将productApi注入进OrderService类中,通过feign来完成远程调用
5.测试
3.OpenFeign的参数传递
1.传递单个参数
2.传递多个参数
3.传递对象
4.传递JSON
1.服务端需要提供相应的接口
2.Feign客户端声明
3.测试: 客户端通过Feign客户端发起远程调用
4.OpenFeign 的最佳实践
4.1继承的方式
新建一个文件夹来存放我们所有接口
在注解中引入两个包
4.2抽取的方式
1.完成抽取
抽取的模块由服务的提供方来写
2.打包 install
3.启动服务端
4.服务调用方, 引入抽取出来的模块
5.服务部署
1.确认配置
确认文件配置是否正常即可
2.打包, 上传包
3.启动服务
参考上篇文章 - Nacos
4.测试
6.spring全家桶复习
- Spring IoC(Inversion of Control,控制反转)
- 是 Spring 框架的核心概念之一,它的主要作用是管理和组织应用程序中的组件(Bean)。具体来说,Spring IoC 容器负责实例化、配置和组装这些 Bean,以及管理它们的整个生命周期。
- Spring AOP(Aspect-Oriented Programming,面向切面编程):
- Spring AOP 提供了一种通过预编译方式和运行期间动态代理实现横切关注点的方法。它允许您定义跨多个对象的切面,并将它们模块化以支持更好的代码复用性和可维护性。
- Spring JDBC:
- Spring JDBC 简化了通过 JDBC 访问数据库的代码编写。它提供了模板类(如
JdbcTemplate
)和异常处理机制,帮助开发者编写更少的代码来执行数据库操作。
- Spring JDBC 简化了通过 JDBC 访问数据库的代码编写。它提供了模板类(如
- Spring ORM(Object-Relational Mapping,对象关系映射):
- Spring ORM 模块通过提供集成不同 ORM 框架(如 Hibernate、JPA 等)的支持,简化了持久层的开发。它使得通过对象而非 SQL 语句来操作数据库变得更加简单和灵活。
- Spring MVC(Model-View-Controller):
- Spring MVC 是一个基于 Java 的实现了 MVC 设计模式的Web框架。它提供了一个灵活的方法来开发具有清晰分层结构的Web应用程序,并且可以与其他 Spring 模块无缝集成。
- Spring Security:
- Spring Security 是一个强大且高度可定制的身份验证和访问控制框架,用于保护Spring应用程序的安全性。
- Spring Test:
- Spring Test 模块支持对 Spring 应用程序进行单元测试和集成测试。它提供了一组工具和类,帮助开发者编写和执行测试,以确保应用程序的质量和稳定性。
- Spring Boot:
- Spring Boot 是一个基于 Spring 的开发和部署的简化模型,通过自动化配置和约定优于配置的方式,减少了开发者在配置和部署上的工作量,使得快速开发和微服务架构更加容易实现。
- Spring Cloud:
- Spring Cloud 是一组工具和框架,用于构建分布式系统中的各种模式,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁等。
基于 Spring 的开发和部署的简化模型,通过自动化配置和约定优于配置的方式,减少了开发者在配置和部署上的工作量,使得快速开发和微服务架构更加容易实现。
感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘