Rumah >Java >javaTutorial >Apakah kaedah reka bentuk yml berbilang peringkat dan berbilang persekitaran dalam projek SpringBoot?
Terdapat beberapa konfigurasi asas tetap biasa dalam modul infrastruktur. Contohnya, termasuk tetapi tidak terhad kepada konfigurasi log, konfigurasi teras Spring dan konfigurasi biasa berkaitan MyBatis Plus. Konfigurasi ini selalunya tidak berkaitan dengan persekitaran Bagaimana ia boleh digunakan semula?
# 日志配置 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
Terdapat juga beberapa konfigurasi bebas persekitaran dalam modul infrastruktur. Contohnya, Mysql, Redis atau MQ. Bagaimana untuk membezakan antara persekitaran?
# 数据源配置 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
Kami biasanya mengkonfigurasi konfigurasi berkaitan log dalam fail logback.xml. Bagaimana untuk melaksanakan laluan log yang berbeza dalam persekitaran yang berbeza?
Gunakan semula konfigurasi tetap dalam modul infrastruktur.
Bezakan konfigurasi berbilang persekitaran.
log log balik memperkenalkan konfigurasi berbilang persekitaran.
Kami boleh mentakrifkan fail application.yml untuk modul Admin. Konfigurasi khusus modul diterangkan dalam fail. Contohnya, port, laluan akses, dsb.
# 开发环境配置 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
Buat
applicaiton-basic.yml baharu dalam modul infrastruktur dan konfigurasikan beberapa konfigurasi penggunaan semula tetap asas yang bebas daripada persekitaran.
application-dev.yml, konfigurasikan beberapa konfigurasi berkaitan persekitaran, seperti konfigurasi pangkalan data.
Kemudian nyatakan fail asas dan dev dalam konfigurasi spring.profiles.active.
Pada masa ini springboot secara automatik akan mencari fail applicaiton-basic.yml dan application-dev.yml.
Jadi fail konfigurasi terakhir kami ialah konfigurasi digantikan oleh applicaiton.yml+applicaiton-basic.yml+applicaiton-dev.yml.
Kami boleh mencipta fail logback-spring.xml baharu untuk mengkonfigurasi pengelogan berbilang persekitaran. Katakan kita ingin mengkonfigurasi laluan log yang berbeza bergantung pada persekitaran. Dalam fail seperti application-dev.yml, logging.file.path boleh dikonfigurasikan.
Kemudian gunakan teg springProperty dalam fail logback-spring.xml untuk membaca laluan yang dikonfigurasikan dalam yml berbilang persekitaran.
Pada masa ini, laluan log akan membaca laluan konfigurasi persekitaran yang berbeza masing-masing.
Atas ialah kandungan terperinci Apakah kaedah reka bentuk yml berbilang peringkat dan berbilang persekitaran dalam projek SpringBoot?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!