Spring Cloud Config
项目演示
新建工程作为Spring Cloud Config工程。
导入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
<version>2.1.0.RC2</version>
</dependency>
application.yml配置:
server:
port: 3344
spring:
application:
name: cloud-config
cloud:
config:
server:
git:
uri: https://github.com/***/configdemo.git
username: 登录github的用户名
password: 登录密码
这个仓库要存在于github上,里面有对应的文件application.yml:
spring:
profiles:
active:
- test
---
spring:
profiles: dev
application:
name: config-dev
---
spring:
profiles: test
application:
name: config-test
项目主启动类:
@SpringBootApplication
// 开始spring cloud config功能
@EnableConfigServer
public class ConfigApp3344 {
public static void main(String[] args) {
SpringApplication.run(ConfigApp3344.class, args);
}
}
启动项目,访问:127.0.0.1:3344/application-dev.yml就可以访问到配置文件中的信息。
项目使用配置中心的配置
新建一个配置文件,上传到上面工程对应的github仓库中
config-client-3355.yml
spring:
profiles:
active:
- test
---
spring:
profiles: dev
application:
name: config-client-dev
server:
port: 3355
---
spring:
profiles: test
application: config-client-test
server:
port: 3366
新建一个工程,应用这个配置文件。
导入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>2.1.0.RC2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
新建bootstrap.yml
spring:
cloud:
config:
# 配置要使用的配置文件的名字,不带.yml后缀
name: config-client-3355
# 配置使用哪个profiles
profile: dev
# 配置使用哪个分支
label: master
# 配置config server的地址
uri: http://localhost:3344
启动类:
@SpringBootApplication
public class ConfigClientApp {
public static void main(String[] args) {
SpringApplication.run(ConfigClientApp.class, args);
}
}
启动项目,控制台可以看到项目启动的具体端口,应为对应的配置的端口,否则配置不成功。如果仓库中的配置有错误的话,读取配置也可能会不成功!