创建配置管理服务器及实现分布式配置管理应用,实现统一配置管理。
提供三种方式:
基于git
基于svn(淘汰)
基于本地文件(测试使用)
如何使用
创建server端
创建client端
- 创建server端
让你的分布式的应用可以取到配置。服务端很简单,只需要配置你的配置文件位于哪里就行了。
pom.xml:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
当然了,我已经在全局加入了一些其他配置文件,因为我使用了模块式的开发,所以这里很简单。
配置文件:
spring.application.name=config-server
server.port=8888
spring.cloud.config.server.git.uri=file:///${user.home}/config-repo
一般端口都是8888,可以随意设置,git这里我采用了本地git,方便测试。如果是远程的话,肯定是私有的内部公开的,可以使用用户名和密码登录。官网查看最新的配置文件即可。
启动:
@SpringBootApplication
@EnableConfigServer
public class SpringCloudConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringCloudConfigServerApplication.class, args);
}
}
在启动文件里,加入这样一句话就好啦。
- 创建client端
当然了,也很简单。
pom.xml:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
配置文件:
spring.application.name=appname1
server.port=8082
spring.profiles.active=dev
spring.cloud.config.profile=dev
spring.cloud.config.uri=http://localhost:8888/
这里主要就是你的服务端在哪里。spring.application.name 和 spring.cloud.config.profile 决定了会去远程git里取哪一个git文件。spring.profiles.active决定了使用哪个版本。
其实,这里就是你的拥有一大堆逻辑代码的那个应用。所以这里可以用各种各样的配置文件。当然了,我们推荐你全部都配置在远程端。不然以后修改或者临时需求修改很麻烦。
使用配置:
@Value("${foo}")
String foo;
这是我使用了自己的配置的方法,如果是spring自己的话,比如数据库配置的datasource等,会直接使用。