Maison >Java >javaDidacticiel >Quelle est la méthode de conception yml multi-niveaux et multi-environnements dans le projet SpringBoot ?
Il existe quelques configurations de base fixes courantes dans le module d'infrastructure. Par exemple, y compris, mais sans s'y limiter, la configuration des journaux, la configuration principale de Spring et la configuration commune associée à MyBatis Plus. Ces configurations sont souvent indépendantes de l'environnement. Comment les réutiliser ?
# 日志配置 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
Il existe également des configurations indépendantes de l'environnement dans le module d'infrastructure. Par exemple, Mysql, Redis ou MQ. Comment distinguer les environnements ?
# 数据源配置 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
Nous configurons généralement les configurations liées aux journaux dans le fichier logback.xml. Comment implémenter différents chemins de journalisation dans différents environnements ?
Réutilisez la configuration fixe dans le module d'infrastructure.
Distinguer la configuration de plusieurs environnements.
logback log introduit la configuration multi-environnements.
Nous pouvons définir un fichier application.yml pour le module Admin. La configuration spécifique au module est décrite dans le fichier. Par exemple, port, chemin d'accès, etc.
# 开发环境配置 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改为prod spring: profiles: active: basic,dev
Créez un nouveau
applicaiton-basic.yml dans le module d'infrastructure et configurez certaines configurations de réutilisation fixes de base indépendantes de l'environnement.
application-dev.yml, configurez certaines configurations liées à l'environnement, telles que la configuration de la base de données.
Spécifiez ensuite les fichiers de base et dev dans la configuration spring.profiles.active.
À ce moment, Springboot trouvera automatiquement les fichiers applicaiton-basic.yml et application-dev.yml.
Notre fichier de configuration final est donc la configuration superposée par applicaiton.yml+applicaiton-basic.yml+applicaiton-dev.yml.
Nous pouvons créer un nouveau fichier logback-spring.xml pour configurer la journalisation multi-environnements. Supposons que nous souhaitions configurer différents chemins de journalisation en fonction de l'environnement. Dans des fichiers tels que application-dev.yml, vous pouvez configurer logging.file.path.
Utilisez ensuite la balise springProperty dans le fichier logback-spring.xml pour lire le chemin configuré dans le yml multi-environnement.
À ce moment, le chemin du journal lira respectivement les chemins configurés dans différents environnements.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!