SpringBoot + Nacos实现公共配置读取,修改配置文件自动重启服务

业务场景:很多个服务,但很多配置都是一样的,类似数据库连接、公共资源等等,如果每个服务的配置文件都独立配置,万一调整一个 则需要全部都调整,就会很麻烦。

nacos添加公共配置yml,把数据库连接、redis等等连接放在一个配置文件中。
在这里插入图片描述

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
      username: root
      password: 123456
      validation-query: select 1
  redis:
    database: 2
    host: localhost
    port: 6379
    timeout: 10000
#增强knife4j接口文档
knife4j:
  enable: true
  basic:
    username: szls_knife4j
    password: szls@123
    enable: true
# actuator
mybatis-plus:
  global-config:
    banner: false
#oauth2登录配置,无需配置数据库
oauth:
  config:
    clientId: szls-client
    resourceId: szls-resource
    secret: szls-secret
    grantType: password
    accessTokenValiditySeconds: 7200
    refreshTokenValiditySeconds: 86400
    scopes: all
    jwtKey: szls-auth

management:
  endpoints:
    web:
      exposure:
        include: "*"

secure:
  ignore:
    url:
      - /oauth/token/**
      - /doc.html
      - /v2/api-docs/**
      - /swagger-ui.html
      - /swagger-resources/**
      - /webjars/**
      - /favicon.ico
      - /common/captcha/**
      - /system/info/**

子模块配置:

server:
  port: 8890
spring:
  application:
    name: demo-portal
  cloud:
    nacos:
      #配置中心
      config:
        #命名空间
        namespace: szls-dev
        #服务地址
        server-addr: localhost:28848
        #配置文件后缀
        file-extension: yaml
        #共享配置,mysql/redis/log
        shared-configs:
          - data-id: common-mysql-redis.yml
            refresh: true
        #开启自动刷新,修改配置文件后服务自动重启,读取最新配置
        refresh-enabled: true
      #服务注册
      discovery:
        #命名空间
        namespace: szls-dev
        #服务地址
        server-addr: localhost:28848
        #是否注册到服务,本地开发环境不允许注册
        register-enabled: true

这里又会有新的疑问点,像redis的连接,我不想和其他的服务公用一个database,可其它配置都是一样的怎么办?
答:在子模块自己的配置文件中,重新配置即可,会优先读取自身的配置文件。

你可能感兴趣的:(SpringBoot,Nacos,spring,boot,nacos,nacos配置,nacos公共配置)