一文看懂Spring全家桶之服务调用最佳实践

Spring全家桶简介 Spring全家桶系列通过提供一系列相互关联、功能丰富的项目和模块,为开发人员构建企业级Java应用程序提供了全面的支持。无论是Web应用开发、数据访问层开发还是微服务架构的构建,Spring全家桶都能够提供相应的解决方案和工具,帮助开发人员提高开发效率、降低开发成本并提升应用性能。后续会持续更新分享相关内容,记得关注哦! 阅读详情

spring 全家桶的整体介绍

Spring 全家桶为开发者提供了一套全面的解决方案,涵盖了应用开发的各个方面。Spring Boot 通过简化配置使快速构建独立的、生产级别的基于 Spring 的应用成为可能。Spring MVC 支持创建灵活且强大的 Web 应用程序。Spring Cloud 则专注于微服务架构中的常见模式实现,如服务发现、配置管理等,促进云原生应用的发展。Spring Data 提供了一种一致的方式访问多种数据存储技术,降低了数据库操作的复杂度。最新的 Spring AI 则旨在将人工智能能力无缝集成到 Spring 生态系统中,使得构建智能应用变得更加简单。这些工具共同作用,帮助开发者高效地构建现代企业级应用。

spring 微服务 整体介绍

Spring Cloud 作为 Spring 家族中用于构建微服务架构的重要组件,提供了一套全面的解决方案来支持分布式系统的开发。微服务是一种将单一应用程序分解为一组小型、独立的服务的方法,这些服务可以独立部署和扩展。Spring Cloud 则通过一系列的工具和服务帮助开发者实现这一目标,它不仅关注于服务本身的构建,还包括服务间的通信、配置管理、负载均衡、熔断机制等。

在实际应用场景中,假设一个团队正在开发一款 Web 或移动应用,随着项目规模的增长及团队成员数量增加,传统单体架构逐渐暴露出维护困难、更新成本高等问题。采用基于 Spring Cloud 的微服务架构后,能够有效地解决这些问题。例如,对于一个电商系统来说,我们可以将其拆分为用户管理、商品展示、订单处理等多个微服务。每个服务专注于自己特定的功能领域,并且可以通过轻量级的通信协议(如 HTTP/REST 或 gRPC)与其他服务进行交互。这种方式提高了系统的灵活性与可维护性,同时也能更好地应对流量高峰带来的挑战。此外,利用 Spring Cloud 提供的服务发现机制,各个微服务能够自动注册到服务中心并被其他服务发现,极大地简化了服务之间的调用过程。

spring cloud alibaba介绍

Spring Cloud Alibaba 是 Spring Cloud 的本地化最佳实践,它结合了阿里巴巴在 Java 应用开发领域多年的实践经验,为业务的可持续发展提供了持续的保障。Spring Cloud Alibaba 包含的主要组件有:

  • Nacos:作为服务发现和配置中心,支持动态配置和服务注册与发现。
  • Sentinel:提供流量控制、熔断降级等功能,保证系统的稳定性。
  • Seata:实现分布式事务管理,确保数据的一致性。
  • RocketMQ:高性能的消息队列,用于解耦系统组件并处理消息削峰填谷。
  • Dubbo:RPC 服务框架,支持高效的远程服务调用。
  • SchedulerX:分布式任务调度平台,适用于定时任务管理和调度。
  • GraalVM:静态编译技术,提高应用性能和启动速度。
  • iLogtail:日志分析框架,帮助用户进行日志收集和分析。

spring cloud alibaba服务调用实践

spring cloud alibaba服务调用实践

为了实现一次远程服务调用,我们将使用Nacos作为服务注册与发现组件,并结合Spring Cloud Alibaba来构建微服务架构。这里将详细列出如何配置和编写代码来完成服务提供者(provider)和服务消费者(consumer)的搭建。这个例子中,我们会创建一个简单的RESTful API,然后通过Feign客户端进行调用。

1. 创建服务提供者

1.1 添加依赖

在pom.xml文件中添加如下依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
</dependencies>
1.2 配置应用属性

编辑src/main/resources/application.properties文件,设置Nacos服务器地址及应用名称:

spring.application.name=service-provider
server.port=8081
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
1.3 启用服务发现

在主类上加入@EnableDiscoveryClient注解以启用服务发现功能:

package com.example.provider;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@EnableDiscoveryClient
public class ServiceProviderApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServiceProviderApplication.class, args);
    }

    @RestController
    public static class EchoController {
        @GetMapping("/echo/{string}")
        public String echo(@PathVariable String string) {
            return "Hello, " + string;
        }
    }
}

2. 创建服务消费者

2.1 添加依赖

同样地,在消费者的pom.xml里引入必要的依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-openfeign</artifactId>
    </dependency>
</dependencies>
2.2 配置应用属性

为消费者项目指定不同的端口和应用名,同时保持Nacos服务器地址一致:

spring.application.name=service-consumer
server.port=8082
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
2.3 定义Feign客户端

定义一个Feign接口来表示对服务提供者的HTTP请求:

package com.example.consumer;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

@FeignClient(name = "service-provider")
public interface EchoService {
    @GetMapping("/echo/{str}")
    String echo(@PathVariable("str") String str);
}
2.4 使用Feign客户端

在控制器或服务层注入并使用上述定义的Feign客户端:

package com.example.consumer;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ConsumerController {
    
    @Autowired
    private EchoService echoService;

    @GetMapping("/consume/echo/{string}")
    public String consume(@PathVariable String string) {
        return echoService.echo(string);
    }
}
2.5 启动类配置

确保启动类上也有@EnableDiscoveryClient和@EnableFeignClients两个注解,以便启用服务发现和支持Feign客户端:

package com.example.consumer;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ServiceConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServiceConsumerApplication.class, args);
    }
}

按照以上步骤,您就可以成功搭建一个基于Spring Cloud Alibaba与Nacos的服务调用示例了。当服务提供者和服务消费者都运行起来后,可以通过访问http://localhost:8082/consume/echo/test来验证是否能够正确转发请求至服务提供者并获取响应。

Nacos server的安装和部署

Nacos server的安装和部署

Nacos 作为服务发现的核心组件,对于 Spring Cloud Alibaba (SCA) 应用实现远程调用至关重要。本部分将详细说明如何通过阿里云 MSE(微服务引擎)提供的免费试用服务来完成 Nacos 的部署。

准备环境和资源

首先,确保您的阿里云账号已经注册并且完成了实名认证。如果还没有阿里云账号,请先访问 阿里云官网 完成注册及实名认证流程。

准备专有网络VPC和交换机
  1. 如果您已有 VPC 和交换机,并且已经在该 VPC 内部署了微服务应用,那么无需新建。请确认此 VPC 将用于后续创建的 Nacos 实例。
  2. 若需要新建立 VPC 和交换机,参考创建和管理专有网络指南操作。
开通 MSE Nacos
  1. 访问阿里云免费试用页面,点击右上角“登录/注册”按钮并按照提示完成账户登录或注册。
  2. 登录后,在产品分类下找到“中间件 > 微服务引擎”,选择“注册配置 MSE Nacos/ZooKeeper”,点击“立即试用”。
  3. 在配置面板中设置以下选项:
    • 引擎类型:选择 Nacos。
    • 实例名称:输入自定义实例名称。
    • 资源组:使用默认资源。
    • 网络类型:根据实际情况选择专有网络或公网网络。
      • 对于 VPC 内的应用选择“专有网络”。
      • 公网环境下则选“公网网络”。若同时需要支持 VPC 和公网连接,也应选择“专有网络”并配置至少 1 Mbps 带宽。
    • 专有网络:指定已准备好的 VPC。
    • 交换机:从选定 VPC 中选择一个交换机。
    • 公网带宽:如需公网访问,设置最小 1 Mbps 的带宽。
  4. 确认服务协议并点击“立即试用”。

实例创建大约需要 3 至 5 分钟时间。完成后,您可以通过实例列表页面查看状态。当显示为“运行中”时,即可开始使用。

部署微服务应用并接入 Nacos

假设您有一个基于 Spring Cloud 的项目,下面是如何将其注册到上述创建的 Nacos 服务:

  1. 登录MSE 控制台,在实例列表中找到您刚创建的 Nacos 实例,并记录其访问地址,通常形式为 mse.XX.nacos.mse.aliyuncs.com:8848。
  2. 打开您的 Spring Boot/Spring Cloud 项目的 application.properties 或 application.yml 文件,在其中添加如下配置以指向您的 Nacos 服务器地址:
spring.cloud.nacos.discovery.server-addr=mse.XX.nacos.mse.aliyuncs.com:8848
  1. 保存更改并重启应用程序。这将使您的服务能够自动注册至 Nacos 并利用其服务发现功能。

至此,您已经成功地利用阿里云 MSE 的 Nacos 服务实现了 SCA 应用的服务发现功能。接下来可以进一步探索更多高级特性,比如配置管理等。

Spring系列(spring全家桶) (3)@EnableConfigutarion:最关键的一个注解,他拥有两个子注解,其中@AutoConfigurationpackageu会将启动类所在包下的所有组件到容器中,@Import会导入一个自动配置文件选择器,他会去加载META_INF目录下的spring.factories文件,这个文件中存放很大自动配置类的全类名,这些类会根据元注解的装配条件生效,生效的类就会被实例化,加载到ioc容器中。(3)分片集群:主从模式和哨兵模式解决了并发读的问题,但没有解决并发写的问题,因此有了分片集群。 阅读详情

相关推荐

2021银四奉上最强干货:Spring全家桶(脑图/面试/进阶学习)

撸了35天,奉上最强干货“全家桶”脑图+面试+进阶学习:Spring+Cloud+Security+Boot+MVC+Spring5,且全篇分为以下三个部分: 脑图篇 面试篇 进阶学习篇 阅读前请注意:这是迄今最全的Spring相关全家桶,脑图+面试+进阶学习,全文篇幅有点长,但干货满满,请仔细阅读!且全文提及的全部手绘脑图的原件、面试解析的原件、进阶学习的笔记PDF原件等全部都可免费分享感兴趣认可你的——100%免费分享请直接点击传送门即可!! 第一篇:脑图篇 1.1 手绘 Sprin.

Java6888的博客 1112

spring全家桶

获取bean时通过bean工厂先从单例池中获取,如果没有则创建并添加至单例池,最终返回需要的bean对象。7、一旦对象进入单例池,则意味着创建流程已经全部完成,此时会将工厂池的factory()进行清理。getBean --》 实例化 --》 填充属性 --》 初始化 --》放入单例池。我们通常情况下调用的是代理对象,而非对象本身(回忆一下事务处理的场景)(4)B对象 属性填充完成 --》初始化完成 --》放入单例池。5、A对象 属性填充完成 --》初始化完成 --》执行调用。.........

m0_59347746的博客 7341

java 学习- spring 全家桶学习与使用教程

Spring 全家桶是一套广泛使用的Java企业级开发框架,集成了多个子项目和组件,旨在简化企业级应用的开发、部署和管理。Spring 全家桶不仅仅是一个框架,更是一个庞大的技术家族,包括Spring Framework、Spring Boot、Spring Cloud等多个子项目。这些子项目共同构成了Spring生态系统,提供了从底层框架到上层应用的全方位支持。Spring Boot是Spring框架的一个扩展,它简化了基于Spring的应用开发、配置和部署。

cesske的博客 1933

【Spring】详解Spring全家桶

转载地址:https://www.cnblogs.com/lagou/p/10552815.html Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC、SpringBoot、Spring Cloud、Spring Cloud Dataflow等解决方案。有人亲切的称之为:Spring 全家桶。 很多研发人员把spring看作心目中最好的java项目,没有之一。 所以这是重点也是难点,工作中必须会,面试时肯定考。 那么,花费10分钟,梳理Spring框架相关

u013733643的博客 1万+

Spring 全家桶使用教程

在当今快节奏的软件开发领域,构建高效、可靠的Java应用程序是每个开发者的追求。为了满足这一需求,Spring Framework推出了一系列衍生产品,统称为Spring全家桶。这包括了Spring Boot、Spring Cloud、Spring Data、Spring Security等工具,它们为开发者提供了丰富的功能和工具,帮助他们更高效地构建Java应用程序。本文将深入探讨这些工具的特点、用途和使用方法,帮助读者更好地理解和运用Spring全家桶,提升Java应用程序的开发效率和质量。

不迁怒,不贰过。小知识,大智慧。 4641

Windows: 深入剖析pip install SSLError与SSL模块缺失的根源及系统级修复

本文深入分析Windows系统下pip install SSLError与SSL模块缺失的根本原因,提供系统级修复方案。从Python安装包缺失SSL支持、OpenSSL库冲突到环境变量配置问题,详细讲解四大成因及对应的解决方案,包括重新安装Python、手动修复OpenSSL依赖等实用技巧,帮助开发者彻底解决HTTPS连接问题。

weixin_28595749的博客 459

Spring 全家桶新人入门指南:服务调用最佳实践

pring 全家桶提供了一整套解决方案,覆盖了从基础框架到企业级应用开发的各个方面。其中,**Spring Boot** 旨在简化新 Spring 应用的初始搭建以及开发过程,通过约定大于配置的原则来快速启动项目;**Spring MVC** 是构建 Web 应用程序的一种强大而灵活的方式,支持多种视图技术,并且与 Spring 框架其他功能紧密集成;**Spring Cloud** 提供了一套微服务解决方案,包括服务发现、配置管理、断路器、智能路由等功能,特别地,Spring Cloud Alibaba

Grumpy_Amber的博客 1215

安时积分法和开路电压法结合估算锂电池SOC

基于安时积分法和开路电压法结合的锂电池SOC估计Simulink仿真建模,利用安时积分法计算放电过程中的SOC,在搁置状态利用开路电压法进行SOC修正。

qq_39304296的博客 2552

spring全家桶小白教程系列:服务调用最佳实践(Feign实现)

Spring 全家桶是一系列基于 Spring 框架构建的技术栈,为开发者提供了全面的支持。Spring Boot 通过自动配置和起步依赖简化了新 Spring 应用的初始搭建与开发过程;Spring MVC 是用于构建 Web 应用程序的强大框架,支持 RESTful 服务开发;Spring Cloud 提供了微服务架构下的解决方案,包括服务发现、配置管理等,其中 Spring Cloud Alibaba 作为其第二代实现,引入了阿里巴巴的开源项目如 Nacos 和 Sentinel 来进一步优化

Grumpy_Amber的博客 1435

Shader之——花草动画shader

今天 ,接到了个需求,花草的动画。谈到花草动画,立马就想到顶点动画,让顶点动起来就可以实现了。但是有个问题,所有的草都往一个方向运动,这个就麻烦了。因为在shader里没有随机这种概念,提到最多的是用一张噪声图来模拟。在网上搜索了一下,发现有更好的办法,就是用每个顶点到一个点的距离来控制动画的开始,毕竟每个顶点到同一个点的距离很少是一样的。 float dis = distance ...

baicaishisan的博客 2182

Windows 11下用Ollama一键部署DeepSeek-R1大模型(附8B/14B版本选择建议)

本文详细介绍了在Windows 11环境下使用Ollama工具一键部署DeepSeek-R1大模型的完整指南,包括8B和14B版本的选择建议。通过硬件评估、安装配置、性能优化等步骤,帮助开发者高效实现本地部署,提升AI应用体验。

weixin_29079643的博客 271

spring全家桶新手指南之服务调用最佳实践

Spring 全家桶提供了一整套解决方案,以支持企业级应用开发。其中,Spring Boot 通过自动配置和起步依赖简化了新 Spring 应用的初始搭建以及开发过程;Spring MVC 作为 Web 框架,帮助开发者快速构建基于 HTTP 的应用程序;Spring Cloud 提供了在分布式系统(如配置管理、服务发现、断路器、智能路由等)中常用模式的现成实现;Spring Data 则让存储技术的使用变得更加方便,它为多种数据库提供了统一的访问接口;而最新的 Spring AI 旨在促进人工智能能力

Grumpy_Amber的博客 895

COMSOL实现裂缝性储层油水两相流模拟的关键技术

多孔介质中的流体流动模拟是油气藏开发的核心技术,其基本原理基于达西定律和质量守恒方程。在裂缝性储层中,离散裂缝网络与基质系统的耦合流动带来了特殊的数值挑战。通过COMSOL Multiphysics平台实现的多物理场耦合技术,可以精确模拟油水两相在复杂裂缝系统中的渗流行为。该技术采用Level Set方法表征裂缝几何形态,结合自适应网格生成技术解决狭窄裂缝的网格剖分难题,并创新性地引入Bang-Larsen毛管压力滞后模型,显著提高了采收率预测精度。这些方法在致密油藏开发、水驱优化等工程实践中具有重要应用价

weixin_34005090的博客 229

案例上手 Spring 全家桶

《案例上手 Spring 全家桶》课程亮点spring boot面试题 Spring 技术零基础轻松入门 spring boot 68 讲更全面地覆盖 Spring 全家桶核心模块 100+ 段代码示例,理解 Spring 全家桶要领 3 大项目实战,掌握 Spring 全家桶实际应用 精选 70 道 Spring 高频面试题检验学习成果 免费赠送 16+ 小时的 Spring 实战视频 Spr...

GitChat 6833

BEVFusion(mit)最强环境安装,部署复现

BEVFusion作为一项经典的工作,值得深入探索。然而由于配置环境比较麻烦,耽误了一些时间。经过几次成功配置之后,有了一些总结,在这里记录下来,供大家参考避坑,也方便自己下次查阅。

qq_45783225的博客 1万+

TI C2000 , .cmd文件,.TI.ramfunc,将程序分配为在RAM中运行/Flash运行的配置方法和原理讲解,(如28375S ,280049,28335等等芯片)

1 基础知识讲解 1.1 在RAM中运行还是在flash中运行指的是什么? 1.1.1 背景:程序编译完之后生成的.bin文件,.bin文件中包含代码段,代码段中全是汇编指令,而汇编指令中包含多个函数,各函数头的地址不同,如存在A函数和B函数,假设RAM地址区间是0x0000-0x8000,flash的地址区间是0xA000-0xF000,A函数要调用B函数,则A函数调用B函数的那段汇编指令中包含的是B函数头的存储地址,A函数和B函数都在flash中有存储 1.1.2 情况1:B函数是配置为在RAM中运行,

weixin_43776284的博客 8063

spring全家桶使用教程

1. Spring简介Spring是一个开源的、全面的、一站式的企业级应用开发框架,它提供了广泛的功能,包括控制反转(IoC)、面向切面编程(AOP)、事务管理、持久层集成等。Spring的设计目标是简化企业级应用开发,通过非侵入式的设计和基于POJO(Plain Old Java Objects)的编程模型,让开发者能够更加专注于业务逻辑的实现。2. Spring的核心组件Beans:Spring的Bean是Spring框架的核心,它代表了被Spring管理的对象。

Chujun123528的博客 1508

五、实战pxe安装ubuntu 22.04 软raid1(实际生产pxe配置)

这段配置文件是一个cloud-init的自动安装配置,用于自动化部署Ubuntu服务器操作系统。它定义了从系统身份、键盘布局、区域设置到磁盘分区和RAID配置的一系列设置,并且包含了在安装过程的最后阶段执行的一些命令。基础设置version: 1指定了autoinstall配置文件的版本。source定义了安装源,这里是ubuntu-server。identity设置了主机名(hostname)、用户(username)和密码(password注意这里的密码是经过加密的。键盘与语言设置。

jundao1997的专栏 999

五分钟学Java:一篇文章带你搞懂spring全家桶套餐

原创声明 本文首发于微信公众号【程序员黄小斜】 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 本文思维导图 spring全家桶里都有哪些食物 上期我们讲了spring和springmvc两个框架的基础知识和学习路线,而这期内容,我们将围绕着spring全家桶展开来讨论。 大家应该都知道,按照出现的顺序,spring全家桶大概包含了spring、springmvc、springboot以...

Java技术江湖 7924

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Spring全家桶

1. Spring简介Spring是一个开源的、全面的、一站式的企业级应用开发框架,它提供了广泛的功能,包括控制反转(IoC)、面向切面编程(AOP)、事务管理、持久层集成等。Spring的设计目标是简化企业级应用开发,通过非侵入式的设计和基于POJO(Plain Old Java Objects)的编程模型,让开发者能够更加专注于业务逻辑的实现。2. Spring的核心组件Beans:Spring的Bean是Spring框架的核心,它代表了被Spring管理的对象。

陈辰学长的博客 1107

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

玩转Spring全家桶之远程服务调用实战

Spring 全家桶为开发者提供了构建企业级应用所需的全方位支持。其中,Spring Boot 通过简化配置帮助快速搭建独立的、生产级别的基于 Spring 的应用;Spring MVC 则是用于开发 Web 应用程序的强大框架,支持模型-视图-控制器设计模式;Spring Cloud 提供了一套微服务架构下的解决方案,特别是其第二代实现 Spring Cloud Alibaba,使分布式系统构建变得更为简单高效;

Grumpy_Amber的博客 1244

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

spring全家桶完美使用教程!

关于 【spring全家桶使用教程】 目录: 一、介绍Spring生态系统 二、探索Spring Boot 三、构建微服务架构 with Spring Cloud 四、监控与部署 五、结语

zhaoylzy的博客 1660
上一篇: 玩转Spring全家桶之远程服务调用实战
下一篇: 小白友好!一文看懂spring微服务(含最佳实践)
AIGC绘画
博客等级 码龄5年 316粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值