您当前的位置: 首页 > 

java持续实践

暂无认证

  • 3浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

谷粒商城16-同时加载多个配置集

java持续实践 发布时间:2020-08-01 19:48:16 ,浏览量:3

同时加载多个配置集

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

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.jdbc.Driver
  url: jdbc:mysql://192.168.56.10:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: root
password: root

在coupon命名空间中,创建“datasource.yml”配置. 分组写为dev 2、将和mybatis相关的配置,放置到“mybatis.yml”中

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

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

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848  #nacos注册中心的地址
  application:
    name: gulimall-coupon
server:
  port: 7000

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

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

spring.application.name=gulimall-coupon
# 配置中心的地址 nacos的地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=815d84b4-93a5-493a-89f4-a913b2b8b676
spring.cloud.nacos.config.group=dev


# 指定data-id 即配置中心中的, 配置文件的名称
spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml
# 指定分组, 即指定使用哪个环境的配置文件
spring.cloud.nacos.config.ext-config[0].group=dev
# 是否开启动态刷新配置, 默认为false ,开启为true
spring.cloud.nacos.config.ext-config[0].refresh=true

spring.cloud.nacos.config.ext-config[1].data-id=mybatis.yml
spring.cloud.nacos.config.ext-config[1].group=dev
spring.cloud.nacos.config.ext-config[1].refresh=true

spring.cloud.nacos.config.ext-config[2].data-id=other.yml
spring.cloud.nacos.config.ext-config[2].group=dev
spring.cloud.nacos.config.ext-config[2].refresh=true

5、注释“application.yml”文件中的所有配置 6、重启“gulimall-coupon”服务 启动服务的时候, 可以看到控制台打印的信息如下, 代表加载配置中心的配置. 指明了dataid和 group分组 有一点需要注意的是, 如果spring.cloud.nacos.config.group 的配置注释掉了, 加载默认的分组是DEFAULT_GROUP 如下图nacos的源码所示. 但如果此时命名空间下没有DEFAULT_GROUP 这个分组, 那么启动的时候, 就会报错. 如下图所示, 找到要注入的值, 我本地的配置文件中, 也没有该配置. 然后访问:http://localhost:7000/coupon/coupon/test 在这里插入图片描述 7、访问:http://localhost:7000/coupon/coupon/list,查看是否能够正常的访问数据库 小结: 1)、微服务任何配置信息,任何配置文件都可以放在配置中心; 2)、只需要在bootstrap.properties中,说明加载配置中心的哪些配置文件即可; 3)、@Value, @ConfigurationProperties。都可以用来获取配置中心中所配置的信息; 4)、配置中心有的优先使用配置中心中的,没有则使用本地的配置。

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0652s