SpringCloud学习笔记 (20)

定位资源的默认策略是克隆一个git仓库(在spring.cloud.config.server.git.uri),并使用它来初始化一个迷你SpringApplication。小应用程序的Environment用于枚举属性源并通过JSON端点发布。

HTTP服务具有以下格式的资源:

/{application}/{profile}[/{label}] /{application}-{profile}.yml /{label}/{application}-{profile}.yml /{application}-{profile}.properties /{label}/{application}-{profile}.properties

其中“应用程序”作为SpringApplication中的spring.config.name注入(即常规的Spring Boot应用程序中通常是“应用程序”),“配置文件”是活动配置文件(或逗号分隔列表的属性),“label”是可选的git标签(默认为“master”)。

测试访问:3344/application-dev.yml

image-20210201155956186

测试访问 :3344/application/test/master

image-20210201160006379

测试访问 :3344/master/application-dev.yml

image-20210201160021051

如果测试访问不存在的配置则不显示 如::3344/master/application-aaa.yml

image-20210201160031817

客户端

将本地git仓库springcloud-config文件夹下新建的config-client.yml提交到码云仓库:

image-20210201160043194

新建一个springcloud-config-client-3355模块,并导入依赖

<!--config--> <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-start --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> <version>2.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

resources下创建application.yml和bootstrap.yml配置文件

bootstrap.yml 是系统级别的配置

# 系统级别的配置 spring: cloud: config: name: config-client # 需要从git上读取的资源名称,不要后缀 profile: dev label: master uri: :3344

application.yml 是用户级别的配置

# 用户级别的配置 spring: application: name: springcloud-config-client

创建controller包下的ConfigClientController.java 用于测试

@RestController public class ConfigClientController { @Value("${spring.application.name}") private String applicationName; //获取微服务名称 @Value("${eureka.client.service-url.defaultZone}") private String eurekaServer; //获取Eureka服务 @Value("${server.port}") private String port; //获取服务端的端口号 @RequestMapping("/config") public String getConfig(){ return "applicationName:"+applicationName + "eurekaServer:"+eurekaServer + "port:"+port; } }

主启动类

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

测试:

启动服务端Config_server_3344 再启动客户端ConfigClient

访问::8201/config/

image-20210201160204037

image-20210201160234253

这里配置文件内容不再列举直接到代码中看把。

新建springcloud-config-eureka-7001模块,并将原来的springcloud-eureka-7001模块下的内容拷贝的该模块。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wssppz.html