当前位置:   article > 正文

config配置管理中心_配置文件中心

配置文件中心

springcloud配置管理中心可以读取其他服务器或者svn或者git上面的配置文件,

为什么要用配置管理中心?

1:实现配置集中管理

2:出于安全考虑,我们一个大项目很难说全部都是由一批人完成的,难免会有人员更换,作为程序员的话走习惯将代码带走,因为代码也是我们程序员的财富,但是这样会造成安全隐患,如果统一读取一个地址的配置文件,开发人员只知道业务代码那安全率就高得多

好了,废话说了这么多,接下来就在配置一个

还是用之前的代码(文字结尾有源码地址)

首先,我们还是先创建一个module,取名为config-service,在创建一个取名config-1 ,

项目结构如下

当然,其实配置中心用不到之前的项目,配置中心是不需要注册的,这里只是为了把代码整合到一起

首先,我们修改config-service项目的pom文件,添加如下依赖,

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-config-server</artifactId>
  4. </dependency>

 

在启动文件加入@EnableConfigServer,这个注解告诉spring这是我们的配置项目

代码如下

  1. package org.configservice.demo;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.cloud.config.server.EnableConfigServer;
  5. @SpringBootApplication
  6. @EnableConfigServer
  7. public class ConfigServiceApplication {
  8. public static void main(String[] args) {
  9. SpringApplication.run(ConfigServiceApplication.class, args);
  10. }
  11. }

修改配置文件,如图所示

 

在添加一个配置文件,取名yly-c1.yml,这里个名字无所谓,我们在里面添加一个配置,如图所示

我们在添加一个配置文件,取名yly-c2.yml,同样添加一个配置,如图

 

然后,我们在config-1项目添加上springcloud配置客户机的依赖

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-config</artifactId>
  4. <version>2.1.2.RELEASE</version>
  5. </dependency>

然后我们修改一下启动文件,加入2个注解

@RefreshScope:这个注解告诉spring,我们的资源需要刷新
@RestController:这个注解是Controller

我们在添加一个接口,代码如下

  1. package org.config1.demo;
  2. import org.springframework.beans.factory.annotation.Value;
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5. import org.springframework.cloud.context.config.annotation.RefreshScope;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.RequestMethod;
  8. import org.springframework.web.bind.annotation.RestController;
  9. @SpringBootApplication
  10. @RefreshScope
  11. @RestController
  12. public class Config1Application {
  13. public static void main(String[] args) {
  14. SpringApplication.run(Config1Application.class, args);
  15. }
  16. @Value("${mykey}")
  17. private String mykey;
  18. @RequestMapping(value = "/getmykey" ,method = RequestMethod.GET)
  19. public String getmykey() {
  20. return "mykey="+mykey ;
  21. }
  22. }

 

我们在加入一个配置文件,取名bootstrap.yml(这里必须叫这个名字,这是spring的启动配置文件)配置如下

 

 

uri:配置文件地址

我们把项目依次启动,config-service===config-1

我们测试一下

我们再把config-1项目停止了,然后修改一下配置文件

我们把配置文件从c1切换到c2,在测试一下

这样的话我们就可以很轻松的将配置文件和项目分割开来

配套源码:https://gitee.com/ww2510095/spring_cloud_learning

 

 

 

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号