news 2026/4/17 17:34:14

Spring Cloud Context 和 Spring Cloud Commons 包详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Cloud Context 和 Spring Cloud Commons 包详解

Spring Cloud Context 和 Spring Cloud Commons 2.0.2 对应的Spring Cloud 整体版本是 Finchley.SR1

版本对应关系

Spring Cloud ContextSpring Cloud CommonsSpring Cloud 版本Spring Boot 兼容版本
2.0.22.0.2Finchley.SR12.0.x
2.1.02.1.0Greenwich.SR12.1.x
2.2.02.2.0Hoxton.SR12.2.x

Finchley 是 Spring Cloud 的第二个主要发布系列(2018年发布)。


Spring Cloud Context 介绍

主要功能

Spring Cloud Context 为 Spring Cloud 应用提供了应用上下文层次结构配置刷新机制

核心特性:

  1. Bootstrap Context(引导上下文)

    • 创建一个父级应用上下文,用于加载外部配置
    • 先于主应用上下文启动
    • 从配置中心(如Config Server)加载配置
  2. @RefreshScope

    • 支持配置的动态刷新
    • 无需重启应用即可更新配置值
  3. Environment端点

    • /actuator/env端点用于查看和修改环境属性
    • /actuator/refresh端点触发配置刷新
  4. 加密解密支持

    • 提供对称/非对称加密工具
    • 支持配置属性的加密存储

使用示例:

@SpringBootApplication@RefreshScope// 支持配置动态刷新publicclassApplication{@Value("${custom.property}")privateStringcustomProperty;// 配置刷新时,@RefreshScope的bean会被重新创建}

Spring Cloud Commons 介绍

主要功能

Spring Cloud Commons 提供了抽象层和通用工具,用于构建分布式系统的公共模式。

核心模块:

  1. 服务发现抽象

    • DiscoveryClient接口
    • 服务注册/发现的通用API
    • 支持多种注册中心(Eureka, Consul, Nacos等)
  2. 负载均衡

    • LoadBalancerClient接口
    • Ribbon 集成(在Finchley中)
  3. 配置客户端

    • ConfigClient相关支持
    • 从配置服务器获取配置
  4. RestTemplate 增强

    • @LoadBalanced注解
    • 支持服务名调用
  5. 服务调用

    • Feign 客户端的支持(通过spring-cloud-openfeign)

使用示例:

// 1. 服务发现@AutowiredprivateDiscoveryClientdiscoveryClient;publicList<ServiceInstance>getInstances(StringserviceId){returndiscoveryClient.getInstances(serviceId);}// 2. 负载均衡的RestTemplate@Bean@LoadBalancedpublicRestTemplaterestTemplate(){returnnewRestTemplate();}// 使用服务名调用Stringresult=restTemplate.getForObject("http://service-provider/api/hello",String.class);

两个包的关系

提供抽象接口

实现接口

使用工具类

Spring Cloud Commons

Spring Cloud Context

具体实现

Eureka

Consul

Config Server

  • Commons:定义标准和抽象(接口、注解)
  • Context:提供运行时支持和增强功能
  • 两者协同工作,共同构建Spring Cloud的基础设施

实际开发中的依赖

通常不需要直接引入这两个包,而是通过Spring Cloud Starter引入:

<!-- Finchley.SR1 的典型依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter</artifactId><version>2.0.2.RELEASE</version></dependency><!-- 或具体功能starter --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>

这两个包是Spring Cloud微服务架构的基础核心,几乎所有Spring Cloud功能都依赖于它们。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:09:43

国家电网Java面试被问:混沌工程在分布式系统中的应用

一、核心理念&#xff1a;从电力系统可靠性工程借鉴 1.1 混沌工程与电力系统可靠性的共鸣 关键点&#xff1a;将电力行业的“N-1准则”、“黑启动演练”思想引入分布式系统 text 复制 下载 电力系统 vs 分布式系统&#xff1a; • N-1准则&#xff08;电力&#xff09; ↔ …

作者头像 李华
网站建设 2026/4/18 6:24:53

人大重大突破:让AI自己培养自己,无需人类老师也能变更聪明

这项由人民大学高瓴人工智能学院领导的研究发表于2026年1月&#xff0c;论文编号为arXiv:2601.13761v2&#xff0c;有兴趣深入了解的读者可以通过该编号查询完整论文。 想象一下&#xff0c;如果一个学生能够自己出题、自己做题、自己批改&#xff0c;还能让自己越来越聪明&…

作者头像 李华
网站建设 2026/4/18 6:27:24

精准守护天使头型:思看科技3D扫描技术在婴儿头矫形中的应用

思看科技&#xff08;SCANOLOGY/3DeVOK&#xff09;——高精度3D数字化解决方案领导者 一、婴儿头型不对称&#xff1a;不容忽视的健康问题 婴儿头型不对称&#xff0c;医学上称为“体位性颅骨畸形”&#xff08;Positional Plagiocephaly&#xff09;&#xff0c;是婴幼儿时…

作者头像 李华
网站建设 2026/4/18 7:59:21

科哥开发的FSMN VAD值得用吗?真实用户反馈来了

科哥开发的FSMN VAD值得用吗&#xff1f;真实用户反馈来了 “一段70秒的会议录音&#xff0c;2.1秒就切出所有有效语音片段——这速度不是噱头&#xff0c;是我在上周三下午三点零七分亲眼见证的。” 这是某智能硬件公司语音算法工程师在技术群里的原话。他没提模型名字&#…

作者头像 李华
网站建设 2026/4/18 10:08:38

API密钥与令牌管理漏洞:现代应用命脉的攻防实践

第一部分&#xff1a;开篇明义 —— 定义、价值与目标 定位与价值 在数字化血液——数据——于现代应用架构中奔流不息的今天&#xff0c;API&#xff08;应用程序编程接口&#xff09; 已成为系统间对话的核心语言。而API密钥与访问令牌&#xff0c;正是这场对话的“通行证”…

作者头像 李华