Yml的基本配置(服务器端口、日志、JPA、Druid、环境激活、thymeleaf、resource)

2023-05-16

springboot配置文件很强大、也丰富,“约定优于配置”,只需做少量的配置,其它采用默认的就行。
application.properties(传统),application.yml(重点)

服务器端口配置

server:
  port: 8080  # 端口号

日志配置

#debug: true
# 设置日志级别,root表示根节点,即整体应用日志级别
logging:
  level:
    root: info     #root级别
    #日志级别从低到高:TRACE < DEBUG < INFO(开发) < WARN(生产系统上线时) < ERROR(生产系统上线时)< FATAL
    com.jcj.mydemo: warn     # package级别
  #Spring Boot默认使用LogBack日志系统,日志默认输出到控制台的
  file:  # 日志输入一个固定的地方,存在文件里
    name: logs/system.log        # 将日志存在logs下的system.log日志中

JPA配置

spring:
  jpa:
    #放入公共部分
    #注意:数据库要预先建立好,因为hibernate只会建表,不会建库
    #update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表;如果表里缺少列,则自动添加列。
    #create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失。
    #create-drop:启动hibernate时,自动创建表,程序关闭时,自动把相应的表都删除。所以程序结束时,表和数据也不会再存在。
    hibernate:
      ddl-auto: update  # 有三个选项:update、create、create-drop
    show-sql: true # 表示项目运行时要不要输出sql语句

数据库连接池配置

自Druid1.1.10版本以后,完全基于yml就能让Druid运行起来
要做的工作:
1)pom.xml增加jpa、Mysql、Druid的jar包依赖

<!--Mysql驱动-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.28</version>
    <scope>runtime</scope>
</dependency>

<!--Druid数据库连接池-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>

<!--JPA-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2)在配置文件中增加配置参数

spring:
  # 数据源
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver  # 驱动(pom.xml中已经引入了Mysql依赖)
    url: jdbc:mysql://127.0.0.1:3306/goodswarndb?serverTimezone=UTC&useSSL=false  #serverTimezone=UTC指定时区,表示全球标准时间  useSSL=false表示普通连接
    username: root
    password: 123456
    #Druid数据源配置
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: 5 #初始化时建立物理连接的个数
      min-idle: 5 #最小连接池数量
      maxActive: 20 #最大连接池数量
      maxWait: 60000 #获取连接时最大等待时间,单位毫秒
      timeBetweenEvictionRunsMillis: 60000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      minEvictableIdleTimeMillis: 300000 #配置一个连接在池中最小生存的时间,单位是毫秒
      validationQuery: SELECT 1 #用来检测连接是否有效的sql
      testWhileIdle: true #申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效
      testOnBorrow: false #申请连接时执行validationQuery检测连接是否有效,如果为true会降低性能
      testOnReturn: false #归还连接时执行validationQuery检测连接是否有效,如果为true会降低性能
      poolPreparedStatements: true # 打开PSCache,并且指定每个连接上PSCache的大小
      maxPoolPreparedStatementPerConnectionSize: 20 #要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
      filters: stat,wall,slf4j #配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
      #通过connectProperties属性来打开mergeSql功能;慢SQL记录
      connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
      # 配置DruidStatFilter,用于采集web-jdbc关联监控的数据
      web-stat-filter:
        enabled: true
        url-pattern: "/*"
        #排除一些不必要的url过滤
        exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
      # 配置DruidStatViewServlet
      stat-view-servlet:
        url-pattern: "/druid/*"    # 约定的格式
        # IP白名单(没有配置或者为空,则只能在本地访问)
        allow: 127.0.0.1,192.168.31.76
        # IP黑名单 (存在共同时,deny优先于allow)
        deny: 192.168.1.73
        #  禁用HTML页面上的“Reset All”功能
        reset-enable: false
        # 可视化界面,登录名
        login-username: admin
        # 可视化界面,登录密码
        login-password: admin123456

环境激活

设:有application-dev.yml、application.yml-pro、application.yml

# application.yml内容
spring:
  profiles:
    active: dev

thymeleaf配置

一般情况下,无需在yml中进行配置,采用其默认配置就很好,thymeleaf的默认配置如下:

spring.thymeleaf.cache #是否开启模板缓存,默认true
spring.thymeleaf.check-template-location #是否检查模板路径是否存在,默认true
spring.thymeleaf.content-type #指定Content-Type,默认为: text/html
spring.thymeleaf.enabled #是否允许MVC使用Thymeleaf,默认为: true
spring.thymeleaf.encoding #指定模板的编码,默认为: UTF-8 
spring.thymeleaf.excluded-view-names #指定不使用模板的视图名称,多个以逗号分隔. 
spring.thymeleaf.mode #指定模板的模式,具体查看StandardTemplateModeHandlers,默认为: HTML5 
spring.thymeleaf.prefix #指定模板的前缀,默认为:classpath:/templates/ 
spring.thymeleaf.suffix #指定模板的后缀,默认为:.html 
spring.thymeleaf.template-resolver-order #指定模板的解析顺序,默认为第一个. 
spring.thymeleaf.view-names #指定使用模板的视图名,多个以逗号分隔.

resource配置

Resource是指资源相关的配置,一般情况下,无需在yml中进行配置,采用其默认配置就很好,默认配置如下:

spring.resources.add-mappings #是否开启默认的资源处理,默认为true
spring.resources.cache-period #设定资源的缓存时效,以秒为单位. 
spring.resources.chain.cache #是否开启缓存,默认为: true
spring.resources.chain.enabled #是否开启资源 handling chain,默认为false
spring.resources.chain.html-application-cache #是否开启h5应用的cache manifest重写,默认为: false
spring.resources.chain.strategy.content.enabled #是否开启内容版本策略,默认为false
spring.resources.chain.strategy.content.paths #指定要应用的版本的路径,多个以逗号分隔,默认为:[/**]
spring.resources.chain.strategy.fixed.enabled #是否开启固定的版本策略,默认为false
spring.resources.chain.strategy.fixed.paths #指定要应用版本策略的路径,多个以逗号分隔
spring.resources.chain.strategy.fixed.version #指定版本策略使用的版本号
spring.resources.static-locations #指定静态资源路径,默认为classpath:[/META-INF/resources/,/resources/, /static/, /public/]以及context:/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Yml的基本配置(服务器端口、日志、JPA、Druid、环境激活、thymeleaf、resource) 的相关文章

  • 安装react-devtools时npm install失败解决方法

    网上的所有教程基本都是把v3zip下载下来后淘宝镜像安装依赖 xff1a npm registry https registry npm taobao org install 但按照这种方法会出现如下报错 npm ERR code 1 np
  • java -虹软Caused by: java.lang.UnsatisfiedLinkError: Can‘t load library: **\WIN64\libarcsoft_face.dll

    错误详情 Caused by java lang UnsatisfiedLinkError Can t load library F code WIN64 libarcsoft face dll 如图 xff1a 错误原因 一般遇到问题 x
  • Fragment的使用(Android实现底部导航栏)

    xfeff xfeff xfeff xfeff 一 布局页面添加 1 添加四个切换页面的布局 xff08 1 xff09 四个切换页面的布局 四个页面相同 xff09 xff1a lt xml version 61 34 1 0 34 en
  • Java 线程安全

    引入1 xff1a 计算机内存模型 span class token number 1 span 因为向主内存中读写数据的速度要远远小于 span class token constant CPU span 处理数据的速度 xff0c 所有
  • Debian11安装MySql8

    下载地址点击这里 官方安装文档点击这里 Installing MySQL on Linux Using Debian Packages from Oracle xff09 安装 span class token comment 安装依赖 s
  • 消息队列技术的介绍和原理(MQ)

    最近要做一个项目准备用分布式消息队列 xff0c 花点时间看了下 消息队列技术是分布式应用间交换信息的一种技术 消息队列可驻留在内存或磁盘上 队列存储消息直到它们被应用程序读走 通过消息队列 xff0c 应用程序可独立地执行 它们不需要知道
  • win10如何修改C盘User下的用户名

    温馨提示 仅供参考 xff0c 不建议小白在本机测试 xff0c 不然会有需要 重装 的风险 建议操作前设置还原点 重要数据备份 xff01 xff01 xff01 然后Win11就别尝试了 xff0c 而且一旦失败的话 xff0c 就只能
  • 极狐Gitlab操作手册

    用户管理 普通用户可以访问他们的群组和项目 用户可以无限制地访问所有群组 项目 用户和功能 群组管理 项目管理 创建项目 为项目添加成员 其它设置 为当前用户配置SSH密钥 本地生成SSH密钥 提交本地项目到gitlab span clas
  • WIN11之RocketMQ5.0安装

    官网地址 xff1a https rocketmq apache org docs quick start 下载地址 xff1a https rocketmq apache org dowloading 下载 系统要求 span class
  • Kubernetes 对象

    什么是对象 K8s集群中创建的任何东西都可以被视为对象 xff1a Deployment Pod Service等等 对象类型 kubectl api resources span class token comment 查询所有type
  • K8S DashBoard控制台

    前言 Dashboard 是基于网页的 Kubernetes 用户界面 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中 xff0c 也可以对容器应用排错 xff0c 还能管理集群资源 你可以使用 Dashbo
  • Debian11之基于二进制安装K8S(v1.26.x) 集群

    官网地址 xff1a https kubernetes io zh cn docs home supported doc versions 资源列表 主机IP主机名称主机角色软件192 168 111 30master1主节点1kube a
  • Kubernetes Service、Ingress、Ingress Controller

    Kubernetes 网络模型 K8S 是一种容器编排系统 xff0c 可以方便地管理和部署容器应用程序 它支持通过四层负载和七层负载向容器集群中的应用程序提供负载均衡 四层负载是一种基于传输层协议 xff08 例如TCP UDP xff0
  • 浅析JAVA中的抽象类

    span class hljs keyword abstract span class Animal span class hljs keyword abstract span span class hljs keyword void sp
  • 安装 Ubuntu

    1 del 进入bios 选择从USB启动 2 安装ubuntu 3 准备安装Ubuntu 不用选 4 安装类型 选择something else 可以自己分区 5 分为四个区 swap 交换分区 不用格式化 boot 引导和内核分区 格式
  • Linux安装libpcap(pcap.h库)(以Ubuntu 18.04为例)

    做毕业设计需要用到libpcap来抓包 借此次机会完整记录下自己的安装过程 xff0c 前人种树后人乘凉 到libpcap官网去下载最新的源码包 下载完成后tar xzf 文件 tar gz 解压 xff0c 于是我们可以看到完整的源码目录
  • rabbitmq的waitForConfirms和waitForConfirmsOrDie作用和区别

    rabbitmq的waitForConfirms和waitForConfirmsOrDie作用和区别 解决方法 xff1a 发布消息后通过执行channel waitForConfirmsOrDie xff08 long xff09 方法或
  • 环形缓冲区的实现原理(ring buffer)

    消息队列锁调用太频繁的问题算是解决了 xff0c 另一个让人有些苦恼的大概是这太多的内存分配和释放操作了 频繁的内存分配不但增加了系统开销 xff0c 更使得内存碎片不断增多 xff0c 非常不利于我们的服务器长期稳定运行 也许我们可以使用
  • 解决mac安装anaconda后遇到“conda: command not found“的问题

    最近新入了macbook pro xff0c 在安装好anaconda后 xff0c 图形界面中操作时没有任何问题的 xff0c 但打开终端后却遇到了conda指令无法使用的问题 xff0c 如下图 xff1a 这个问题的产生可能会有多种原
  • Android 7.0 Launcher3 去掉应用抽屉

    年初做过一个项目 xff0c 有一个需求就是需要将桌面变为单层不需要二级菜单 最近几次有小伙伴有这个问我这个解决办法 现在我将分享给大家 先上效果图 xff1a 功能分解 去除Allapp键 xff0c 调整HotSeat布局将所有应用摆在

随机推荐

  • Android 8.0 Settings流程分析与变动

    开 xff01 场 白 xff01 好 xff01 难 xff01 写 xff01 一 xff0c 相比Android Settings 7 0 如下图 xff0c 在7 0的基础上 xff0c 去掉了7 0新加的侧滑菜单 xff08 可能
  • Altium Designer PCB设置电源线粗细宽度+绘制时改变粗细

    一般电源线要给多个设备供电 xff0c 所以比信号线要粗一些 新建布线 Routing 的宽度规则 xff1a 然后如下图所示 xff0c 把这条规则重命名为width 5v 命名随意 并设置这条规则的作用对象为 xff1a 名字为 34
  • AndroidStudio安装BindView注解插件

    新版本androidStudio添加BindVIew插件可以直接在Build gradle Module app 里面的dependencies下添加 compile 39 com jakewharton butterknife 8 8 1
  • 漫话程序员们的家庭装修——书房篇

    身为一名程序员 xff0c 辛辛苦苦码代码N年 xff0c 终于攒下钱买了自己的小窝 xff0c 不好好犒劳一下自己都对不起自己的近视眼和鼠标手 这就来分享一下我装修的心得 xff0c 从书房开始 xff01 书房作为程序员在公司战斗一天回
  • 首次安装Android Studio 新建项目构建失败解决

    首次安装AS xff0c 新建项目需要下载构建所需jar包 xff0c 如果没有翻墙 xff0c 就很可能会导致下载失败 解决方案 xff1a 1 打开项目根目录下的build gradle文件 xff0c 把goole 和jcenter
  • Arch Linux安装中文输入法

    1 安装fcitx span class token function sudo span pacman S fcitx im 2 配置 如果以startx方式进入gnome 在 xinitrc xff0c exec之前中加入 xff1a
  • Activity和fragment的简单切换效果

    Activity有默认的切换效果 xff0c 但是这个效果我们也可以自定义 xff0c 主要用到overridePendingTransition int enterAnim int exitAnim 这个方法 xff0c 这个方法必须在s
  • java maven 连接mysql 8.0数据库

    JAVA maven项目 连接数据库 mysql8 0 查询 xff0c 插入 xff0c 删除 xff0c 更新 1 在pom xml加入mysql connector java依赖包 xff0c version要跟你的mysql版本对应
  • Windows无法安装到这个磁盘,选中的磁盘具有MBR分区表。在EFI系统上,Windows只能安装GPT磁盘。

    报错 xff1a Windows无法安装到这个磁盘 xff0c 选中的磁盘具有MBR分区表 在EFI系统上 xff0c Windows只能安装GPT磁盘 操作 xff1a 1 Windows安装程序界面如下 xff0c 使用快捷键shift
  • 华为Taishan服务器安装UOS操作系统

    今天2020 12 18 折腾了一遍华为Taishan服务器重装UOS20操作系统 xff0c 没经验 xff0c 一堆问题 xff0c 逐个排查解决的 做个记录 xff0c 以免下次再坑 1 光驱引导 最开始 xff0c 选择光驱引导安装
  • SLF4J用户手册(谷歌翻译版)

    本文翻译自slf4j官方用户手册 xff0c 地址 SLF4J Manual Java 的简单日志门面 SLF4J 用作各种日志框架的简单门面或抽象 xff0c 例如 java util logging logback 和 reload4j
  • 读java编程思想的一点感触

    学习一些java基础语法后 xff0c 能应付简单的日常工作 但是觉得还是得系统学习一下这门语言 xff0c 就选择了java编程思想 原书第4版 xff0c 机械工业出版社 xff0c 陈昊鹏译的这本 看懂的不是很多 xff0c 还是学到
  • Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: No outputs for

    错误 xff1a Unable to determine application id com android tools idea run ApkProvisionException No outputs for the main art
  • 完善二叉树的右指针

    对于一个二叉树 xff0c 每个结点有三个指针 xff0c 除了左右子节点指针外还有一个指向右边的结点的指针 现在给定一个二叉树 xff0c 每个结点的右指针为空 xff0c 让你把每一层的结点都连起来 xff08 默认是完全二叉树 xff
  • 什么是AOSP?

    AOSP全名为Android Open Source Project xff0c 中文为安卓开源项目 xff0c 开源即开放源代码 Android是一个基于Linux xff0c 由Google主导的开源系统 严格意义上来说 xff0c A
  • 什么是APT攻击

    什么是APT攻击 APT攻击即高级可持续威胁攻击 也称为定向威胁攻击 xff0c 指某组织对特定对象展开的持续有效的攻击活动 APT是黑客以窃取核心资料为目的 xff0c 针对客户所发动的网络攻击和侵袭行为 xff0c 是一种蓄谋已久的 恶
  • CEO、COO、CFO、CTO、CMO是什么意思

    一 什么是CEO COO CFO CTO xff1f CEO总裁 CFO财务总监 CTO技术总监 COO运营总监 CEO Chief Executive officer 首席执行官 可以理解为是企业领导人和职业经理人两种身份的合一 xff0
  • POC测试是什么

    POC测试 xff0c 即Proof of Concept 可以理解为 xff1a 根据客户需求进行测试 是业界流行的针对客户具体应用的验证性测试 xff0c 根据用户对采用系统提出的性能要求和扩展需求的指标 xff0c 在选用服务器上进行
  • 开发环境、测试环境、生产环境

    生产环境 是可以对外开放 xff0c 已通过测试验证 xff0c 对外提供服务的环境 开发环境 程序员做开发的环境 xff0c 该环境已经部署好需要的开发工具和服务 测试环境 一般是从生产环境复制过来的环境 xff0c 用于要发布的服务 业
  • Yml的基本配置(服务器端口、日志、JPA、Druid、环境激活、thymeleaf、resource)

    springboot配置文件很强大 也丰富 xff0c 约定优于配置 xff0c 只需做少量的配置 xff0c 其它采用默认的就行 application properties xff08 传统 xff09 xff0c applicatio