首页 > 编程语言 >【Java】【SpringBoot】yml配置文件解析

【Java】【SpringBoot】yml配置文件解析

时间:2024-09-06 10:36:11浏览次数:14  
标签:jdbc Java SpringBoot 配置文件 配置 mysql true 连接 连接池

yml的常见配置可以详见官方文档。https://docs.spring.io/spring-boot/appendix/application-properties/index.html#appendix.application-properties.server

服务器配置

server:
  port: 8080  # 端口
  servlet:
    context-path: /  # 应用程序上下文路径【设置访问路径前缀】
    session:
      timeout: 3600  # 配置会话(session)超时时间,单位秒

数据库配置

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver  # MySQL驱动类名
    url: jdbc:mysql://localhost:3306/库名?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true  # 数据库URL
    username: root  # 用户名
    password: 123456  # 密码

连接池配置

通用的连接池配置:

hikari:  # Hikari连接池的配置
  minimum-idle: 15  # 连接池中保持的最小空闲连接数
  maximum-pool-size: 25  # 连接池的最大连接数
  idle-timeout: 400000  # 连接在连接池中保持空闲的最大时间(单位为毫秒),超过该时间会被释放
  max-lifetime: 580000  # 连接在连接池中的最大生命周期(单位为毫秒),超过该时间会被释放
  connection-timeout: 65000  # 获取连接的超时时间(单位为毫秒)
  connection-test-query: SELECT 1  # 用于测试连接是否有效的SQL查询语句

切换到Druid数据库连接池

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatis
    username: root
    password: 1234

或

spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/mybatis
      username: root
      password: 1234

SpringBoot3的配置

# 连接池配置
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
     # Druid的其他属性配置 springboot3整合情况下,数据库连接信息必须在Druid属性下!
    druid:
      url: jdbc:mysql://localhost:3306/mybatis
      username: root
      password: 1234
      driver-class-name: com.mysql.cj.jdbc.Driver
      # 初始化时建立物理连接的个数
      initial-size: 5
      # 连接池的最小空闲数量
      min-idle: 5
      # 连接池最大连接数量
      max-active: 20
      # 获取连接时最大等待时间,单位毫秒
      max-wait: 60000
      # 申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
      test-while-idle: true
      # 既作为检测的间隔时间又作为testWhileIdel执行的依据
      time-between-eviction-runs-millis: 60000
      # 销毁线程时检测当前连接的最后活动时间和当前时间差大于该值时,关闭当前连接(配置连接在池中的最小生存时间)
      min-evictable-idle-time-millis: 30000
      # 用来检测数据库连接是否有效的sql 必须是一个查询语句(oracle中为 select 1 from dual)
      validation-query: select 1
      # 申请连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
      test-on-borrow: false
      # 归还连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
      test-on-return: false
      # 是否缓存preparedStatement, 也就是PSCache,PSCache对支持游标的数据库性能提升巨大,比如说oracle,在mysql下建议关闭。
      pool-prepared-statements: false
      # 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
      max-pool-prepared-statement-per-connection-size: -1
      # 合并多个DruidDataSource的监控数据
      use-global-data-source-stat: true

Mybatis配置

mybatis:
configuration:  # setting配置
 auto-mapping-behavior: full #指定 MyBatis 应如何自动映射列到字段或属性。 NONE 表示关闭自动映射;PARTIAL 只会自动映射没有定义嵌套结果映射的字段。 FULL 会自动映射任何复杂的结果集(无论是否嵌套)在多表时必须开启
 map-underscore-to-camel-case: true #驼峰映射开启
 #    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl #日志开启
 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #控制台日志开启
type-aliases-package: com.hsc.pojo # 配置别名【可以省略返回对象时全限定类名的书写】
#mapper-locations: classpath:/mapper/*.xml #设置mapperxml扫描位置
mybatis-plus:
  mapper-locations: classpath:mapper/*Mapper.xml  # 指定了Mapper XML文件所在的位置
  configuration:
    lazy-loading-enabled: true  # 开启懒加载
    map-underscore-to-camel-case: true  # 开启下划线到驼峰命名的自动映射转换
  global-config:
    db-config:
      id-type: auto  # 主键ID策略,auto表示自动增长

Redis配置

redis:
  host: localhost
  port: 6379
  password: 123456
  pool:
    max-wait: 1600  # 当连接池耗尽时,调用者在等待可用连接时的最大等待时间(单位为毫秒)
    max-active: 40  # 连接池中的最大活动连接数
    max-idle: 20  # 连接池中的最大空闲连接数
    min-idle: 0  # 连接池中的最小空闲连接数
  database: 0  # Redis数据库的索引,默认为0(用于区分不同的数据集)

日志级别配置

logging:
  level:
    root: ERROR  # 根日志记录器的级别,这里设置为ERROR,表示只记录错误日志信息
    com.lck.mypackage: DEBUG  # 包日志记录器,这里设置为DEBUG,表示记录DEBUG级别的日志信息

 

标签:jdbc,Java,SpringBoot,配置文件,配置,mysql,true,连接,连接池
From: https://www.cnblogs.com/luyj00436/p/18399780

相关文章

  • java面试题(Spring、Spring MVC)
    点赞关注+收藏,万分感谢!!Spring1、为什么要使用spring?spring提供ioc技术,容器会帮你管理依赖的对象,从而不需要自己创建和管理依赖对象了,更轻松的实现了程序的解耦。spring提供了事务支持,使得事务操作变的更加方便。spring提供了面向切片编程,这样可以更方便的处理某一类......
  • Java高级编程—多线程(完整详解线程的三种实现方式、以及守护线程、出让线程、插入线程
    二十八.多线程文章目录二十八.多线程28.1线程的三种实现方式28.1.1第一种28.1.2第二种28.1.3第三种28.2常见的成员方法28.3守护线程28.4出让线程28.5插入线程28.6线程生命周期28.7同步代码块28.8同步方法28.1线程的三种实现方式继承Thread类的方式进行......
  • Java-IO:浅谈对NIO的认识
    Java-IO:简述常见的IO模型Java-IO:浅谈对IO的认识NIO即NewIO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在JavaAPI中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。一、NIO......
  • Java:集合的相关汇总介绍
    主要包含Set(集)、List(列表包含Queue)和Map(映射)。1、Collection:Collection是集合List、Set、Queue的最基本的接口。2、Iterator:迭代器,可以通过迭代器遍历集合中的数据。3、Map:是映射表的基础接口。一、List接口Java的List是非常常用的数据类型。List是有......
  • Java 虹软人脸识别SDK:基于虹软人脸识别SDK的Java项目集成指南
    基于虹软人脸识别SDK的Java项目集成指南虹软人脸识别SDK是一款功能全面且成熟的解决方案,广泛应用于智能设备、人脸识别门禁、身份验证等领域。集成虹软人脸识别SDK到Java项目中,可以实现高效的人脸检测、特征提取和比对功能,使得Java开发者能够在各类应用场景中快速部署人脸......
  • 基于Java的信息发布与管理系统设计与开发-计算机毕业设计源码+LW文档
    摘要在互联网高度发展的今天,人们已经习惯利用网络来填充生活中的碎片时间,如听歌、看视频、浏览信息等。然而,遇到喜欢的内容时,由于时间限制,可能无法一次性看完。此外,各种信息内容分布在不同的平台,给用户查找带来了不便。针对这一问题,Java的信息发布与管理系统应运而生,它有效地解决......
  • Java面试——基础篇
    基本数据类型与包装类基本数据类型与引用数据类型区别存储方式:基本数据类型直接存储值,而引用数据类型存储的是对象的引用(内存地址)内存分配:基本数据类型在栈上分配内存,引用数据类型在堆上分配内存(具体内容存放在堆中,栈中存放的是其具体内容所在内存的地址)。栈上的分配速度......
  • JavaWeb - Spring Boot - 请求参数
    @RequestMapping从注解名称上我们可以看到,@RequestMapping注解的作用就是将请求和处理请求的控制器方法关联起来,建立映射关系。SpringMVC接收到指定的请求,就会来找到在映射关系中对应的控制器方法来处理这个请求。@RequestMapping标识一个类:设置映射请求的请求路径的初始信......
  • Java工程师多年之后看指针
      指针是基本数据类型,占用4个字节。Int类型的数据计算机处理语言中是处中间层。使用图形化方式可以这样更形象直观。   计算机对二进制处理数据的方式比较敏感。现人们的大脑计数方式是通过十进制的方式计算日常和工作中需要的业务。操作符的限制,才增加了十六进制......
  • Java泛型-类型参数化
    一.泛型解决支持多类型参数的方案:1,重载:在同一个类中,方法名相同,参数不同不足之处:代码过于重复publicclassTool{  publicStringarrToStr(String[]arr,Stringsymbol){    Stringstr="";    for(Stringv:arr){      str+=s......