返回顶部
首页 > 资讯 > 精选 >Java Spring Cloud客户服务创建方法是什么
  • 902
分享到

Java Spring Cloud客户服务创建方法是什么

2023-06-05 03:06:12 902人浏览 安东尼
摘要

这篇文章主要讲解了“Java spring cloud客户服务创建方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java spring Cloud客户服务创建方法是什么”吧!新建一

这篇文章主要讲解了“Java spring cloud客户服务创建方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java spring Cloud客户服务创建方法是什么”吧!

新建一个基本的 Spring Boot 工程,命名为 cloud-customer

配置文件如下,仅是改了服务名和端口号:

spring:  application:    name: cloud-customerserver:  port: 8200eureka:  client:    service-url:      defaultZone: Http://localhost:8000/eureka/

创建一个 Customer 的实体类

@Data@AllArgsConstructor@NoArgsConstructor@Document(collection = "customers")public class Customer {    @Id    private String id;    private String name;    private String mobile;}

数据访问层直接继承 ReactiveCrudRepository 我们便有了基本的 CRUD 能力

public interface CustomerMonGoReactiveRepository extends ReactiveCrudRepository<Customer, String> {}

因为我们只是示例,不做复杂的业务逻辑,所以省略了 Service 层,在 Controller 里边直接将 CRUD 的操作代理给了 Repository。

@RestController@RequestMapping("/customer")public class CustomerController {    @Autowired private CustomerMongoReactiveRepository repository;    @Autowired private WEBClient.Builder webClientBuilder;    @GetMapping("")    public Flux<Customer> list() {        return repository.findAll();    }    @GetMapping("/{id}")    public Mono<Customer> get(@PathVariable String id) {        return repository.findById(id);    }    @PostMapping("")    public Mono<Customer> create(@RequestBody Customer customer) {        return repository.save(customer);    }    @PutMapping("/{id}")    public Mono<Customer> update(@PathVariable("id") String id, @RequestBody Customer customer) {        customer.setId(id);        return repository.save(customer);    }    @DeleteMapping("/{id}")    public Mono<Void> delete(@PathVariable String id) {        return repository.deleteById(id);    }}

到这里,我们的服务注册中心和两个微服务就都好了。但是,这两个微服务之间还是完全独立的,没有相互间的服务调用。现在我们来实现之前说的需求:客户服务与帐户服务可以相互通信,以获取客户的所有帐户,并通过客户服务 api 方法返回。

首先创建一个 Java Config,这里我们不再使用 RestTemplate 来调用服务,而是 WebClient。这个配置看起来和注册 RestTemplate 时差不多,但是要注意这里注册的 Bean 是 WebClient.Builder

@Configurationpublic class WebClientConfig {    @Bean    @LoadBalanced    public WebClient.Builder loadBalancedWebClientBuilder() {        return WebClient.builder();    }}

除了这种写法,还有一种写法是

public class MyClass {    @Autowired    private LoadBalancerExchangeFilterFunction lbFunction;    public Mono<String> doOtherStuff() {        return WebClient.builder().baseUrl("http://cloud-account/account")            .filter(lbFunction)            .build()            .get()            .uri("")            .retrieve()            .bodyToMono(String.class);    }}

下边的是错误的写法,会抛出异常

@Bean@LoadBalancedpublic WebClient loadBalancedWebClient() {    return WebClient.builder().baseUrl("http://cloud-account/account").build();}

然后在 CustomerController 实现这个端点:

@GetMapping("/{id}/account")public Flux<Account> getAllAccounts(@PathVariable String id) {    return webClientBuilder.baseUrl("http://cloud-account/account/").build()        .get().uri("/customer/" + id)        .retrieve()        .bodyToFlux(Account.class);}

这里需要在 cloud-customer 里创建一个 DTO Account,因为和 cloud-account 里的完全一样,就省略了。

感谢各位的阅读,以上就是“Java Spring Cloud客户服务创建方法是什么”的内容了,经过本文的学习后,相信大家对Java Spring Cloud客户服务创建方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Java Spring Cloud客户服务创建方法是什么

本文链接: https://lsjlt.com/news/241111.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java Spring Cloud客户服务创建方法是什么
    这篇文章主要讲解了“Java Spring Cloud客户服务创建方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java Spring Cloud客户服务创建方法是什么”吧!新建一...
    99+
    2023-06-05
  • Java Spring Cloud怎么创建账户服务
    本篇内容介绍了“Java Spring Cloud怎么创建账户服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!账户服务新建一个基本的 Sp...
    99+
    2023-06-05
  • Java Spring Cloud怎么创建服务注册中心
    本篇内容介绍了“Java Spring Cloud怎么创建服务注册中心”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!服务注册中心:我们要用到...
    99+
    2023-06-05
  • spring Bean创建方法是什么
    本篇内容主要讲解“spring Bean创建方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spring Bean创建方法是什么”吧!bean创建的流程图写在前面:建...
    99+
    2023-06-26
  • vps创建博客的方法是什么
    创建博客的方法有很多种,下面是使用VPS创建博客的一种常见方法:1. 购买并配置VPS:选择一个可靠的VPS提供商,购买一个VPS实...
    99+
    2023-08-20
    vps
  • Spring Cloud Config服务端配置的方法是什么
    这篇文章主要讲解了“Spring Cloud Config服务端配置的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Cloud Config服务端配置的方法是什么”吧...
    99+
    2023-06-19
  • Spring Cloud整合Spring Boot Admin方法是什么
    这篇文章主要介绍“Spring Cloud整合Spring Boot Admin方法是什么”,在日常操作中,相信很多人在Spring Cloud整合Spring Boot Admin方法是什么问题上存在疑惑,小编查阅了各...
    99+
    2023-06-22
  • c#客户端搭建的方法是什么
    本篇内容介绍了“c#客户端搭建的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   c#客户端这个搭建起来的,...
    99+
    2023-06-19
  • Java客户端开发的方法是什么
    这篇文章主要讲解了“Java客户端开发的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java客户端开发的方法是什么”吧!这一步是对之前进行较大的改动。增加的类也比较多。包结构如下...
    99+
    2023-06-17
  • Oracle创建用户的方法是什么
    在Oracle中,可以使用以下语法来创建用户:CREATE USER username IDENTIFIED BY password...
    99+
    2023-10-20
    Oracle
  • sql创建用户表的方法是什么
    在SQL中创建用户表的方法如下: CREATE TABLE users ( id INT PRIMARY KEY, ...
    99+
    2024-04-09
    sql
  • Spring Cloud服务安全连接方式是什么
    这篇文章主要讲解了“Spring Cloud服务安全连接方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Cloud服务安全连接方式是什么”吧!Spring Cloud服...
    99+
    2023-06-25
  • linux重复创建用户的方法是什么
    在Linux中,可以使用以下方法重复创建用户:1. 使用useradd命令:可以使用useradd命令重复创建用户。例如,要创建一个...
    99+
    2023-09-11
    linux
  • linux创建普通用户的方法是什么
    在Linux系统中,创建一个普通用户的方法如下: 打开终端或SSH连接到Linux系统。 使用root用户或具有sudo权限的用户...
    99+
    2024-03-06
    linux
  • redis集群客户端java实现的方法是什么
    在Java中实现Redis集群客户端,可以使用Jedis Cluster库。Jedis Cluster是Jedis库的扩展,专门用于...
    99+
    2023-09-16
    redis java
  • oracle创建用户并授权的方法是什么
    Oracle 创建用户并授权的方法如下:1. 使用 sysdba 身份登录到 Oracle 数据库。2. 创建用户:```sqlCR...
    99+
    2023-09-08
    oracle
  • Java创建包和类的方法是什么
    要在Java中创建包和类,可以按照以下步骤进行:1. 创建包:在源代码文件夹中创建一个与包名相同的文件夹。2. 创建类:在包中创建一...
    99+
    2023-10-10
    Java
  • java线程池创建的方法是什么
    在Java中,线程池可以使用以下两种方法来创建: 使用`Executors`类中的静态方法来创建线程池: ExecutorSer...
    99+
    2023-10-25
    java
  • java创建内部类的方法是什么
    在Java中创建内部类的方法有两种:1. 非静态内部类(成员内部类):在外部类的成员方法中创建内部类的对象。```public cl...
    99+
    2023-10-12
    java
  • java创建多线程的方法是什么
    在Java中,有两种常见的方法来创建多线程:1. 继承Thread类:创建一个继承自Thread类的子类,重写run()方法,并在r...
    99+
    2023-08-16
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作