config配置管理中心

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

爲什麼要用配置管理中心?

1:實現配置集中管理

2:出於安全考慮,我們一個大項目很難說全部都是由一批人完成的,難免會有人員更換,作爲程序員的話走習慣將代碼帶走,因爲代碼也是我們程序員的財富,但是這樣會造成安全隱患,如果統一讀取一個地址的配置文件,開發人員只知道業務代碼那安全率就高得多

好了,廢話說了這麼多,接下來就在配置一個

還是用之前的代碼(文字結尾有源碼地址)

首先,我們還是先創建一個module,取名爲config-service,在創建一個取名config-1 ,

項目結構如下

當然,其實配置中心用不到之前的項目,配置中心是不需要註冊的,這裏只是爲了把代碼整合到一起

首先,我們修改config-service項目的pom文件,添加如下依賴,

   <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

 

在啓動文件加入@EnableConfigServer,這個註解告訴spring這是我們的配置項目

代碼如下

package org.configservice.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;

@SpringBootApplication
@EnableConfigServer
public class ConfigServiceApplication {

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

}

修改配置文件,如圖所示

 

在添加一個配置文件,取名yly-c1.yml,這裏個名字無所謂,我們在裏面添加一個配置,如圖所示

我們在添加一個配置文件,取名yly-c2.yml,同樣添加一個配置,如圖

 

然後,我們在config-1項目添加上springcloud配置客戶機的依賴

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
            <version>2.1.2.RELEASE</version>
        </dependency>

然後我們修改一下啓動文件,加入2個註解

@RefreshScope:這個註解告訴spring,我們的資源需要刷新
@RestController:這個註解是Controller

我們在添加一個接口,代碼如下

package org.config1.demo;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RefreshScope
@RestController
public class Config1Application {

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

    @Value("${mykey}")
    private String mykey;

    @RequestMapping(value = "/getmykey" ,method = RequestMethod.GET)
    public String getmykey() {
        return "mykey="+mykey ;
    }
}

 

我們在加入一個配置文件,取名bootstrap.yml(這裏必須叫這個名字,這是spring的啓動配置文件)配置如下

 

 

uri:配置文件地址

我們把項目依次啓動,config-service===config-1

我們測試一下

我們再把config-1項目停止了,然後修改一下配置文件

我們把配置文件從c1切換到c2,在測試一下

這樣的話我們就可以很輕鬆的將配置文件和項目分割開來

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

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章