需求场景基础设施模块中有一些通用固定的基础配置。举例而言,包括但不限于日志配置、spring核心配置和mybatis plus的相关通用配置。 这些配置往往与环境无关,如何复用?
# 日志配置logging:  level:    # 记得配置到包名    com.agileboot: debug    org.springframework: info  pattern:    console: "%date %thread %green(%level) [%cyan(%logger{10}):%magenta(%line)] %red(%method) | %msg%n"# spring配置spring:  # 文件上传  servlet:     multipart:       # 单个文件大小       max-file-size:  10mb       # 设置总上传的文件大小       max-request-size:  20mb  mvc:    pathmatch:      matching-strategy: ant_path_matcher  jackson:    deserialization:      fail-on-unknown-properties: false    serialization:      write-dates-as-timestamps: false    date-format: yyyy-mm-dd hh:mm:ss
基础设施模块中还有一些独立于环境的配置。例如mysql和redis或者mq之类的。如何区分环境?
# 数据源配置spring:    # redis 配置    redis:        # 地址        host: localhost        # 端口,默认为6379        port: 36379        # 数据库索引        database: 0        # 密码        password: 12345        # 连接超时时间        timeout: 10s        lettuce:            pool:                # 连接池中的最小空闲连接                min-idle: 0                # 连接池中的最大空闲连接                max-idle: 8                # 连接池的最大数据库连接数                max-active: 8                # #连接池最大阻塞等待时间(使用负值表示没有限制)                max-wait: -1ms
日志相关的配置我们一般都配在logback.xml文件中。如何实现不同环境日志路径不一样?
想要达到的效果复用基础设施模块中的固定配置。
区分多环境的配置。
logback日志引入多环境配置。
实现我们可以为admin模块定义一个application.yml文件。文件中描述该模块特定的配置。比如端口,访问路径之类的。
# 开发环境配置server:  # 服务器的http端口,默认为8080  port: 8080  servlet:    # 应用的访问路径    context-path: /  tomcat:    # tomcat的uri编码    uri-encoding: utf-8    # 连接数满后的排队数,默认为100    accept-count: 1000    threads:      # tomcat最大线程数,默认为200      max: 800      # tomcat启动初始化的线程数,默认值10      min-spare: 100# spring配置 如果需要无mysql  无redis直接启动的话  dev改为test# 生产环境把dev改为prodspring:  profiles:    active: basic,dev
在基础设施模块中新建
applicaiton-basic.yml,配置一些与环境无关的基础固定复用配置。
application-dev.yml,配置一些和环境相关的配置,例如数据库的配置。
然后在spring.profiles.active配置中指定basic和dev文件。
此时springboot会自动去找applicaiton-basic.yml和application-dev.yml文件。
所以我们最终的配置文件是由applicaiton.yml+applicaiton-basic.yml+applicaiton-dev.yml叠加的配置。
我们可以创建一个新的logback-spring.xml文件来配置多环境的日志。 假设我们想要根据环境配置不同的日志路径。在 application-dev.yml 等文件中,可以配置 logging.file.path。
然后在logback-spring.xml文件中使用springproperty标签读取多环境yml中配置的路径。
此时日志的路径就会分别读取不同环境配置的路径了。
以上就是springboot项目多层级多环境yml设计的方法是什么的详细内容。
   
 
   