28-springcloud-config-4-构建 Springcloud config 配置中心客户端
前面已经搭建好了配置中心的服务端,并且通过访问接口从config服务端读取配置信息, 不过实际开发中,更多的不是我们人为去获取配置信息,而是由微服务自己从config服务端上加载配置信息, 那么怎么来加载呢?
1、我们的各个微服务都是客户端,比如服务提供者、服务消费者等各个微服务都可以从配置中心获取配置信息,但是要添加如下依赖:
<!-- spring-cloud-starter-config -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
2、创建 bootstrap.properties 文件,用于获取配置信息,文件内容如下:
(注意这些信息一定要放在 bootstrap.properties 文件中才有效)
spring.application.name=application
spring.cloud.config.profile=dev -------指定的是用的配置中心的哪个文件
spring.cloud.config.label=master
spring.cloud.config.uri=http://localhost:8888/
其中:
name 对应配置文件中的 application 部分,
profile 对应了 profile 部分,
label 对应了 label 部分,
uri 表示配置中心的地址。
我们解释一下bootstrap.properties 文件;
Spring Cloud有一个“引导上下文"的概念,这是主应用程序的父上下文。引导上下文负责从配置服务器加载配置属性,以及解密外部配置文件中的属性。和主应用程序加载application.(yml或 properties)中的属性不同,引导上下文加载(bootstrap.)中的属性。配置在 bootstrap.*中的属性有更高的优先级,因此默认情况下它们不能被本地配置覆盖;
3、创建一个 Controller 进行测试:
@RestController
@RefreshScope
public class ConfigController {
@Value("${url}")//读取远程配置中心配置的信息
private String url;
@Autowired
private Environment env;
@RequestMapping("/cloud/url")
public String url () {
return this.url;
}
@RequestMapping("/cloud/url2")
public String url2 () {
return env.getProperty("url");
}
}
我们可以直接使用@Value 注解注入配置的属性值,也可以通过 Environment
对象来获取配置的属性值。
git 码云,码云创建一个仓库,gitclone以后本地修改完成 push到git 然后客户端创建完成以后会从服务端的配置中心读取具体的配置内容,以json的形式返回
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理