最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Cloud Config 使用本地配置文件方式

 更新時(shí)間:2021年07月16日 11:40:13   作者:sunbufu  
這篇文章主要介紹了Spring Cloud Config 使用本地配置文件方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、簡介

在分布式系統(tǒng)中,由于服務(wù)數(shù)量巨多,為了方便服務(wù)配置文件統(tǒng)一管理,實(shí)時(shí)更新,所以需要分布式配置中心組件。

在Spring Cloud中,有分布式配置中心組件spring cloud config ,它支持配置服務(wù)放在配置服務(wù)的內(nèi)存中(即本地),也支持放在遠(yuǎn)程Git倉庫中。

在spring cloud config 組件中,分兩個(gè)角色,一是config server,二是config client。

二、配置

2.1 Spring Cloud Config Server項(xiàng)目

1 pom.xml中導(dǎo)入Config Server需要的包

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

2 在Application類中添加@EnableConfigServer注解

package com.sunbufu;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
@EnableConfigServer
@SpringBootApplication
public class ConfigServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigServerApplication.class, args);
    }
}

3 修改配置文件application.yml,指定本地客戶端配置文件的路徑

spring:
  profiles:
    active: native
  cloud:
    config:
      server:
        native:
          searchLocations: F:/conf

4 準(zhǔn)備客戶端配置文件

配置文件路徑

client-dev.yml文件的內(nèi)容:

server:
  #設(shè)置成0,表示任意未被占用的端口
  port: 8081
nickName: world

2.2 Spring Cloud Config Client項(xiàng)目

1 pom.xml中導(dǎo)入Config Client需要的包(注意,此處跟Config Server的配置不同)

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

2 在src/main/resources中,新建bootstrap.yml文件

bootstrap文件會在application文件之前加載,一般是不會變的。

spring:
  application:
    name: client
  cloud:
    config:
      uri: http://127.0.0.1:8888
      profile: dev
      label: master

資源文件映射如下:

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

3 新建HelloController用來顯示讀取到的配置

package com.sunbufu.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
    @Value("${nickName}")
    private String nickName;
    @RequestMapping("/hello")
    public String hello() {
        return "hello " + nickName;
    }
}

效果

三、總結(jié)

源碼地址 :https://github.com/sunbufu/sunbufu-cloud

總覺的使用svn或者git不如直接修改配置文件方便,特此記錄下來。

spring cloud config本地讀取配置文件

1、創(chuàng)建maven項(xiàng)目,引入spring boot 起步依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.wxz</groupId>
    <artifactId>cloud-config-demo3</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>cloud-config-demo3</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

新建config-server 模塊,引入依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.wxz</groupId>
        <artifactId>cloud-config-demo3</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.wxz</groupId>
    <artifactId>config-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>config-server</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
            <version>2.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

2、配置文件:

spring:
  cloud:
    config:
      server:
        native:
          search-locations: classpath:/shared
  profiles:
    active: native
  application:
    name: config-server
server:
  port: 8769

在resources下新建目錄shared,里面新建文件config-client-dev

server:
  port: 8762
foo: foo version 1

在啟動(dòng)類添加

@EnableConfigServer

新建config-client模塊

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.wxz</groupId>
        <artifactId>cloud-config-demo3</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.wxz</groupId>
    <artifactId>config-client</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>config-client</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
            <version>2.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

新建配置文件bootstrap.yml(bootstrap比application具有優(yōu)先的讀取順序)

spring:
  cloud:
    config:
      uri: http://localhost:8769
      fail-fast: true
  application:
    name: config-client
  profiles:
    active: dev

新建一個(gè)controller進(jìn)行測試:

package com.wxz.configclient.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author Wangxingze
 * @date 2019-08-26 12:58
 */
@RestController
public class Test {
    @Value("${foo}")
    public String  foo;
    @GetMapping("/t")
    public String t(){
        return foo;
    }
}

依次啟動(dòng)server client,啟動(dòng)時(shí)可以看到讀取了配置文件和啟動(dòng)黛安克,訪問:

在這里插入圖片描述

注意:spring boot 和cloud的版本以及config依賴的版本

<groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->

我這里好像沒有指定spring cloud 的版本呀

config的相關(guān)依賴使用:<version>2.1.2.RELEASE</version>

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java Flink與kafka實(shí)現(xiàn)實(shí)時(shí)告警功能過程

    Java Flink與kafka實(shí)現(xiàn)實(shí)時(shí)告警功能過程

    這篇文章主要介紹了Java Flink與kafka實(shí)現(xiàn)實(shí)時(shí)告警功能,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • iReport使用指南及常見功能示例詳解

    iReport使用指南及常見功能示例詳解

    這篇文章主要介紹了iReport使用指南及常見功能,本文以iReport 3.5.1為例,通過示例演示給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • Spring源碼解析容器初始化構(gòu)造方法

    Spring源碼解析容器初始化構(gòu)造方法

    這篇文章主要介紹了Spring源碼解析容器初始化構(gòu)造方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • 通過Java實(shí)現(xiàn)設(shè)置Word文檔頁邊距的方法詳解

    通過Java實(shí)現(xiàn)設(shè)置Word文檔頁邊距的方法詳解

    頁邊距是指頁面的邊線到文字的距離。通常可在頁邊距內(nèi)部的可打印區(qū)域中插入文字和圖形等。今天這篇文章將為您展示如何通過編程方式,設(shè)置Word?文檔頁邊距,感興趣的可以了解一下
    2023-02-02
  • Java連接Oracle數(shù)據(jù)庫并查詢

    Java連接Oracle數(shù)據(jù)庫并查詢

    這篇文章主要介紹了Java連接Oracle數(shù)據(jù)庫并查詢的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 詳解JAVA中static的作用

    詳解JAVA中static的作用

    這篇文章主要介紹了JAVA中static的作用,文中講解非常細(xì)致,代碼幫助大家更好的理解,感興趣的朋友可以了解下
    2020-06-06
  • java中的文件操作總結(jié)(干貨)

    java中的文件操作總結(jié)(干貨)

    本篇文章主要介紹了java中的文件操作總結(jié)(干貨),主要有文件讀寫,遍歷文件夾,文件夾操作等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • Spring Data Neo4j實(shí)現(xiàn)復(fù)雜查詢的多種方式

    Spring Data Neo4j實(shí)現(xiàn)復(fù)雜查詢的多種方式

    在 Spring Data Neo4j 中,實(shí)現(xiàn)復(fù)雜查詢可以通過多種方式進(jìn)行,包括使用自定義查詢、方法命名查詢以及使用 Cypher 查詢語言,以下是詳細(xì)介紹,幫助你在 Spring Data Neo4j 中實(shí)現(xiàn)復(fù)雜查詢,需要的朋友可以參考下
    2024-11-11
  • Java設(shè)計(jì)模式之java橋接模式詳解

    Java設(shè)計(jì)模式之java橋接模式詳解

    這篇文章主要介紹了Java設(shè)計(jì)模式之橋接模式,結(jié)合實(shí)例形式詳細(xì)分析了橋接模式的概念、功能、Java實(shí)現(xiàn)方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2021-09-09
  • SpringBoot中的@ConfigurationProperties注解解析

    SpringBoot中的@ConfigurationProperties注解解析

    這篇文章主要介紹了SpringBoot中的@ConfigurationProperties注解解析,Spring源碼中大量使用了ConfigurationProperties注解,通過與其他注解配合使用,能夠?qū)崿F(xiàn)Bean的按需配置,該注解可以放在類上,也可以放在方法上,需要的朋友可以參考下
    2023-11-11

最新評論

天峨县| 云龙县| 武安市| 莲花县| 临沭县| 宜城市| 桓台县| 彭阳县| 彰化市| 怀安县| 罗江县| 灵寿县| 大关县| 永城市| 普洱| 日照市| 河间市| 崇州市| 白城市| 永寿县| 安泽县| 通许县| 海兴县| 锦州市| 桓台县| 平南县| 阿勒泰市| 永和县| 泸溪县| 南漳县| 罗源县| 东兰县| 丰县| 肥东县| 华安县| 乌审旗| 治多县| 宁安市| 台北县| 长乐市| 改则县|