Springboot的yml配置文件

Posted 可——叹——落叶飘零

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Springboot的yml配置文件相关的知识,希望对你有一定的参考价值。

文章目录

HikariCP

过滤不加载数据源

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/db01?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root

Druid

spring:
  datasource:
    #引入druid数据源
	#type: com.alibaba.druid.pool.DruidDataSource
	#driver-class-name: com.mysql.jdbc.Driver
	# 或
    druid:
      type: com.alibaba.druid.pool.DruidDataSource
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/db01?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
      username: root
      password: root

Mybatis-plus

mybatis-plus:
  type-aliases-package: com.xx.pojo
  mapper-locations: classpath:/mybatis/mappers/*.xml
  configuration:
  	#驼峰
  	#数据库表列:user_name 
	#实体类属性:userName
    map-underscore-to-camel-case: true

Log4j等级

共8个,建议只用四个,优先级从高到低分别是ERROR、WARN、INFO、DEBUG

logging:
  level: 
    com.xx.mapper: debug

Dubbo

生产端

dubbo:
  scan:
    basePackages: com.xx
  application:
    name: consumer-web   #定义消费者名称
  registry:               #注册中心地址
    address: zookeeper://192.168.126.129:2181?backup=192.168.126.129:2182,192.168.126.129:2183

消费端

dubbo:
  scan:
    basePackages: com.xx    #指定dubbo的包路径
  application:              #应用名称
    name: provider-cart     #一个接口对应一个服务名称
  registry:
    address: zookeeper://192.168.126.129:2181?backup=192.168.126.129:2182,192.168.126.129:2183
  protocol:  #指定协议
    name: dubbo  #使用dubbo协议(tcp-ip)
    port: 20880  #单机每一个服务都有自己特定的端口 不能重复.

SpringMVC视图解析器

spring:     #定义springmvc视图解析器
  mvc:
    view:
      prefix: /WEB-INF/views/
      suffix: .html

Thymeleaf

spring:
   thymeleaf:
      cache: false
      prefix: classpath:/templates/pages/

暴露监控监控

management:
	endpoints:
		web:
			exposure:
				include=*

异步线程池

spring:
	task:
    	execution:
      		pool:
        		core-size: 8
        		max-size: 256
        		keep-alive: 60s
        		queue-capacity: 256
      		thread-name-prefix: db-service-thread-
参数解释:
queue-capacity: 队列长度
core-size: 核心线程数
max-size: 128 最大线程数
keep-alive: 60s 默认允许空闲时间60秒
thread-name-prefix: 线程前缀名称,名字取得较长便于测试识别
过程解释:
1.如果当前线程池的线程数还没有达到核心线程数大小,即 poolSize < corePoolSize ,无论是否有空闲的线程,系统回新增一个线程来处理新提交的任务;
2.如果当前线程池的线程数大于或者等于核心线程数大小,即 poolSize >= corePoolSize,且任务队列未满时,将提交的任务提交到阻塞队列中,等待处理
3.如果当前线程池的线程数大于或者等于核心线程数大小,即 poolSize >= corePoolSize,且任务队列已满时,分以下两种情况:
   1.poolSize < maximumPoolSize ,新增线程来处理任务;
   2.poolSize = maximuxPoolSize ,线程池的处理能力已达极限,此时会拒绝增加新任务,如何拒绝取决于RejectedExecutionHandler

properties文件使用

redis.properties文件在resource目录下

redis.host=192.168.126.129
redis.port=6379
#配置分片
#redis.nodes=192.168.126.129:6379,192.168.126.129:6380,192.168.126.129:6381
#哨兵
#redis.sentinel=192.168.126.129:26379
#集群
redis.nodes=192.168.126.129:7000,192.168.126.129:7001,192.168.126.129:7002,192.168.126.129:7003,192.168.126.129:7004,192.168.126.129:7005

使用

@PropertySource("classpath:/reids.properties")
public class RedisConfigure 
	@Value("$redis.nodes")
    private String nodes;

多环境拆分选择

#指定使用某个分割的配置
spring:
  profiles:
    active: prod
---
#新版本写法
#spring:
#  profiles: dev 是2.4版本以下写法
spring:
  config:
    activate:
     on-profile: dev #当前生产环境配置名称

server:
  port: 80   #定义端口号

redis:
  host: 127.0.0.1
  port: 6379

--- # --- 实现文件环境拆分
spring:
  config:
    activate:
      on-profile: prod  #当前生产环境配置名称

server:
  port: 8080

redis:
  host: 10.0.0.1
  port: 6276

以上是关于Springboot的yml配置文件的主要内容,如果未能解决你的问题,请参考以下文章

springboot 中配置文件加载信息不能是“驼峰命名”

springBoot中的application.yml配置文件

springboot读取yml配置文件

springboot读取yml配置文件

springboot读取yml配置文件

SpringBoot+Mybatis关于开启驼峰映射的设置