zoukankan      html  css  js  c++  java
  • 同时加载多个配置集

    当微服务数量很庞大时,将所有配置都书写到一个配置文件中,显然不是太合适。对此我们可以将配置按照功能的不同,拆分为不同的配置文件。

    如下面的配置文件:

    server:
      port: 7000
    
    spring:
      datasource:
        #MySQL配置
        driverClassName: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://192.168.137.14:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&useSSL=false
        username: root
        password: root
    
      application:
        name: gulimall-coupon
      cloud:
        nacos:
          discovery:
            server-addr: 192.168.137.14:8848
    
    
    
    mybatis-plus:
      global-config:
        db-config:
          id-type: auto
      mapper-locations: classpath:/mapper/**/*.xml
    

      

    我们可以将,

    数据源有关的配置写到一个配置文件中:

    spring:
      datasource:
        #MySQL配置
        driverClassName: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://192.168.137.14:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&useSSL=false
        username: root
        password: root
    

      

    和框架有关的写到另外一个配置文件中:

    mybatis-plus:
      global-config:
        db-config:
          id-type: auto
      mapper-locations: classpath:/mapper/**/*.xml
    

      

    也可以将上面的这些配置交给nacos来进行管理。

    实例:将“gulimall-coupon”的“application.yml”文件拆分为多个配置,并放置到nacos配置中心

    1、创建“datasource.yml”,用于存储和数据源有关的配置

    spring:
      datasource:
        #MySQL配置
        driverClassName: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://192.168.137.14:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&useSSL=false
        username: root
        password: root
    

      

    在coupon命名空间中,创建“datasource.yml”配置

     

    2、将和mybatis相关的配置,放置到“mybatis.yml”中

    mybatis-plus:
      global-config:
        db-config:
          id-type: auto
      mapper-locations: classpath:/mapper/**/*.xml
    

      

    3、创建“other.yml”配置,保存其他的配置信息

    server:
      port: 7000
    
    spring:
      application:
        name: gulimall-coupon
      cloud:
        nacos:
          discovery:
            server-addr: 192.168.137.14:8848
    

      

    现在“mybatis.yml”、“datasource.yml”和“other.yml”共同构成了微服务的配置。

    4、修改“gulimall-coupon”的“bootstrap.properties”文件,加载“mybatis.yml”、“datasource.yml”和“other.yml”配置

    spring.cloud.nacos.config.extension-configs[0].data-id=mybatis.yml
    spring.cloud.nacos.config.extension-configs[0].group=dev
    spring.cloud.nacos.config.extension-configs[0].refresh=true
    
    spring.cloud.nacos.config.extension-configs[1].data-id=datasource.yml
    spring.cloud.nacos.config.extension-configs[1].group=dev
    spring.cloud.nacos.config.extension-configs[1].refresh=true
    
    
    spring.cloud.nacos.config.extension-configs[2].data-id=other.yml
    spring.cloud.nacos.config.extension-configs[2].group=dev
    spring.cloud.nacos.config.extension-configs[2].refresh=true
    

      

    "spring.cloud.nacos.config.ext-config"已经被废弃,建议使用“spring.cloud.nacos.config.extension-configs”

    5、注释“application.yml”文件中的所有配置

    6、重启“gulimall-coupon”服务,然后访问:http://localhost:7000/coupon/coupon/test

    小结:

    1)、微服务任何配置信息,任何配置文件都可以放在配置中心;

    2)、只需要在bootstrap.properties中,说明加载配置中心的哪些配置文件即可;

    3)、@Value, @ConfigurationProperties。都可以用来获取配置中心中所配置的信息;

    4)、配置中心有的优先使用配置中心中的,没有则使用本地的配置。

  • 相关阅读:
    matplotlib 进阶之origin and extent in imshow
    Momentum and NAG
    matplotlib 进阶之Tight Layout guide
    matplotlib 进阶之Constrained Layout Guide
    matplotlib 进阶之Customizing Figure Layouts Using GridSpec and Other Functions
    matplotlb 进阶之Styling with cycler
    matplotlib 进阶之Legend guide
    Django Admin Cookbook-10如何启用对计算字段的过滤
    Django Admin Cookbook-9如何启用对计算字段的排序
    Django Admin Cookbook-8如何在Django admin中优化查询
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14372306.html
Copyright © 2011-2022 走看看