1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> </dependencies> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | spring.application.name=springcloud-config-bus-server server.port= 9005 eureka.client.serviceUrl.defaultZone=http: //localhost:8006/eureka/ spring.cloud.config.server.git.uri = https: //github.com/xuwujing/springcloud-study/ spring.cloud.config.server.git.search-paths = /springcloud-config/config-repo spring.cloud.config.server.git.username = spring.cloud.config.server.git.password = management.endpoints.web.exposure.include= bus-refresh spring.cloud.bus.enabled = true spring.cloud.bus.trace.enabled = true spring.rabbitmq.host: 127.0 . 0.1 spring.rabbitmq.port: 5672 spring.rabbitmq.username:guest spring.rabbitmq.password:guest |
配置说明:
- spring.application.name : 这个是指定服务名称。
- server.port:服务指定的端口。
- eureka.client.serviceUrl.defaultZone: 这个是设置与Eureka Server交互的地址,客户端的查询服务和注册服务都需要依赖这个地址。
- spring.cloud.config.server.git.uri: 配置的Git长裤的地址。
- spring.cloud.config.server.git.search-paths: git仓库地址下的相对地址 多个用逗号","分割。
- spring.cloud.config.server.git.username:git仓库的账号。
- spring.cloud.config.server.git.password:git仓库的密码。
- management.endpoints.web.exposure.include:SpringBoot2.x之后必须添加次配置,和上述的客户端
springcloud-config-bus-client
增加的的配置一样,名称不一样是为了做区分。 - spring.cloud.bus.enabled:是否启用springcloud config bus。
- spring.cloud.bus.trace.enabled:开启跟踪总线事件。
- spring.rabbitmq.host: rabbitmq的地址。
- spring.rabbitmq.port: rabbitmq的端口。
- spring.rabbitmq.username: rabbitmq的用户名。
- spring.rabbitmq.password: rabbitmq的密码。
注:如果是kafka的话,添加kafka的配置信息spring.kafka.bootstrap-servers
,填写kafka的地址和端口即可。
1 2 3 4 5 6 7 8 9 10 | @EnableDiscoveryClient @EnableConfigServer @SpringBootApplication public class ConfigServerApplication { public static void main(String[] args) { SpringApplication.run(ConfigServerApplication. class , args); System.out.println( "配置中心服务端启动成功!" ); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> </dependencies> |
1 2 3 4 5 6 | spring.cloud.config.name=configtest spring.cloud.config.profile=pro spring.cloud.config.label=master spring.cloud.config.discovery.enabled= true spring.cloud.config.discovery.serviceId=springcloud-config-bus-server eureka.client.serviceUrl.defaultZone=http: //localhost:8006/eureka/ |
配置说明:
- spring.cloud.config.name: 获取配置文件的名称。
- spring.cloud.config.profile: 获取配置的策略。
- spring.cloud.config.label:获取配置文件的分支,默认是master。如果是是本地获取的话,则无用。
- spring.cloud.config.discovery.enabled: 开启配置信息发现。
- spring.cloud.config.discovery.serviceId: 指定配置中心的service-id,便于扩展为高可用配置集群。
- eureka.client.serviceUrl.defaultZone: 这个是设置与Eureka Server交互的地址,客户端的查询服务和注册服务都需要依赖这个地址。
注:上面这些与spring-cloud相关的属性必须配置在bootstrap.properties中,config部分内容才能被正确加载。因为bootstrap.properties的相关配置会先于application.properties,而bootstrap.properties的加载也是先于application.properties。需要注意的是eureka.client.serviceUrl.defaultZone
要配置在bootstrap.properties,不然客户端是无法获取配置中心参数的,会启动失败!
application.properties
配置文件新增的配置基本和服务端的一样,完整的配置如下:
1 2 3 4 5 6 7 8 9 10 | spring.application.name=springcloud-config-bus-client server.port= 9006 management.endpoints.web.exposure.include=refresh spring.cloud.config.failFast= true spring.cloud.bus.trace.enabled = true spring.rabbitmq.host: 127.0 . 0.1 spring.rabbitmq.port: 5672 spring.rabbitmq.username:guest spring.rabbitmq.password:guest |
配置说明:
- spring.application.name: 这个是指定服务名称。
- server.port:服务指定的端口。
- management.endpoints.web.exposure.include:暴露刷新的地址。
- spring.cloud.bus.enabled:是否启用springcloud config bus。
- spring.cloud.bus.trace.enabled:开启跟踪总线事件。
- spring.rabbitmq.host: rabbitmq的地址。
- spring.rabbitmq.port: rabbitmq的端口。
- spring.rabbitmq.username: rabbitmq的用户名。
- spring.rabbitmq.password: rabbitmq的密码。
程序主类代码,和之前的基本一致。代码如下:
主程序代码示例:
1 2 3 4 5 6 7 8 9 | @EnableDiscoveryClient @SpringBootApplication public class ConfigClientApplication { public static void main(String[] args) { SpringApplication.run(ConfigClientApplication. class , args); System.out.println( "配置中心客户端启动成功!" ); } } |
控制层代码:
1 2 3 4 5 6 7 8 9 10 11 12 | @RestController @RefreshScope public class ClientController { @Value ( "${word}" ) private String word; @RequestMapping ( "/hello" ) public String index( @RequestParam String name) { return name+ "," + this .word; } } |
标签:
Spring Cloud
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具