Java中SpringBoot的application.yml配置文件属性解读,及使用记录,以下仅本人的学习记录。
server: #服务
port: 9999 #端口
tomcat: #tomcat服务
max-swallow-size: -1 #内置tomcat限制文件最大大小 -1为不限制
error: #获取异常对象信息
include-exception: true #设置属性,以确定显示有关错误的信息。例如,我们可以包含错误消息和堆栈跟踪
include-stacktrace: ALWAYS ## 是否包含异常的堆栈信息,默认是NEVER,其他ALWAYS,ON_TRACE_PARAM
include-message: ALWAYS #异常信息
servlet: #翻译为服务连接器,或小服务程序
context-path: /jeecg-boot # 如果不配置 则浏览器的访问路径就是 端口号/控制层名字/接口名 配置后就是 端口号/xxx/控制层名字/接口名
compression: #是否开启压缩,默认为false
enabled: true
min-response-size: 1024 # 压缩的阈值,默认为2048 mime-types:指定要压缩的MIME type,多个以逗号分隔
mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* #mime-types:指定要压缩的MIME type,多个以逗号分隔
management: ##应包含的端点ID或所有的“*”。
endpoints:
web:
exposure:
include: metrics,httptrace #management.endpoints.web.exposure.include='*' 代表开启全部监控,当然也可以配置需要开启的监控,如: management.endpoints.web.exposure.include=metrics,httptrace
spring:
servlet:
multipart: #设置文件上传大小
max-file-size: 10MB # 最大文件大小
max-request-size: 10MB # 最大请求大小,值可以使用后缀“MB”或“KB”分别表示兆字节或千字节
mail: #邮箱配置 pom.xml引入 spring-boot-starter-mail、 spring-boot-starter-freemarker
host: #邮箱主机 #SMTP 服务器主机
username: # 邮箱用户名 #STP 服务器的登录用户
password: # 授权码 #SMTP 服务器的登录密码
properties: #其他JavaMail会话属性
mail:
smtp:
auth: true # 认证
starttls:
enable: true # 开启SSL安全模式
required: true # 必须启动SSL安全模式
## quartz定时任务,采用数据库方式
quartz: #调度器
job-store-type: jdbc #Quartz作业存储类型
initialize-schema: embedded #数据库模式初始化模式
#定时任务启动开关,true-开 false-关 是否自动启动初始化后的调度
auto-startup: true
#延迟1秒启动定时任务 一旦初始化完成,调度程序启动之后的延迟
startup-delay: 1s
#启动时更新己存在的Job 配置的作业是否应覆盖现有的作业定义
overwrite-existing-jobs: true
properties: #其他Quartz Scheduler属性
org:
quartz:
scheduler: #调度器属性
instanceName: MyScheduler #调度器的实例名
instanceId: AUTO #实例 ID,想要Quartz生成这个值的话,可以设置为 AUTO
jobStore: #默认存储在内存中,RAMJobStore快速轻便,但是当进程终止时,所有调度信息都会丢失。负责保持对所有Scheduler“工作数据”的追踪,这些工作数据包括:Ob(任务)Trigger(触发器)Calendar(日历)等
class: org.springframework.scheduling.quartz.LocalDataSourceJobStore # 持久化配置 使 Job 存储在内存中
#您需要为JobStore选择一个DriverDelegate才能使用。DriverDelegate负责执行特定数据库可能需要的任何JDBC工作
# StdJDBCDelegate是一个使用“vanilla”JDBC代码(和SQL语句)来执行其工作的委托,用于完全符合JDBC的驱动程序
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
tablePrefix: QRTZ_ #数据库中quartz表的表名前缀
isClustered: true #是否使用集群(如果项目只是部署到一台服务器上就不用了)
misfireThreshold: 12000 #指定调度引擎设置触发器超时的"临界值" 如果大于misfireThreshold的值 就认为这个触发器真正的超时(也叫Misfires),小于misfireThreshold的值, 那么调度引擎则不认为触发器超时
clusterCheckinInterval: 15000 #调度实例失效的检查时间间隔
threadPool: #线程配置
class: org.quartz.simpl.SimpleThreadPool #实现了 org.quartz.spi.ThreadPool 接口的类的全限名称,根据需求创建自己的线程池实现,没有默认值
threadCount: 10 #控制了多少个工作者线程被创建用来处理Job,至少为1,没有限制最大值,超过100就显得不实用,没有默认值
threadPriority: 5 #设置工作者线程的优先级,最大10,最小1,正常为5,没有默认值
threadsInheritContextClassLoaderOfInitializingThread: true #线程上下文是否初始化,默认为flase
#json 时间戳统一转换
jackson:
date-format: yyyy-MM-dd HH:mm:ss #日期格式字符串或完全限定的日期格式类名。例如,`yyyy-MM-dd HH:mm:ss`
time-zone: GMT+8 #格式化日期时使用的时区。例如,“America / Los_Angeles”或“GMT + 10”
aop:
proxy-target-class: true #是否要创建基于子类的(CGLIB)代理(true),而不是基于标准Java接口的代理(false)
activiti:
#校验流程文件,默认校验resources下的processes文件夹里的流程文件
check-process-definitions: false
#启用作业执行器
async-executor-activate: false
#启用异步执行器
job-executor-activate: false
jpa:
open-in-view: false #注册OpenEntityManagerInViewInterceptor。将JPA EntityManager绑定到线程以进行整个请求处理
#配置freemarker
freemarker:
# 设置模板后缀名
suffix: .ftl
# 设置文档类型
content-type: text/html
# 设置页面编码格式
charset: UTF-8
# 设置页面缓存
cache: false
prefer-file-system-access: false
# 设置ftl文件路径
template-loader-path:
- classpath:/templates
# 设置静态文件路径,js,css等
mvc:
static-path-pattern: /** #用于静态资源的路径模式
pathmatch: #Spring Boot 2.6+后映射匹配的默认策略已从AntPathMatcher更改为PathPatternParser,需要手动指定为ant-path-matcher
matching-strategy: ant_path_matcher
resource:
static-locations: classpath:/static/,classpath:/public/ #静态资源配置 自定义Spring boot加载前端静态资源路径
autoconfigure: # 排除自动配置 即禁用springboot某些类的自动化配置 像数据源什么的 还有其他的配置方法(https://www.cnblogs.com/javastack/p/12016212.html)
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
datasource:
druid:
stat-view-servlet: #配置_StatViewServlet配置,用于展示Druid的统计信息
enabled: true #是否启用StatViewServlet(监控页面)默认值为false(考虑到安全问题默认并未启动,如需启用建议设置密码或白名单以保障安全)
loginUsername: admin #监控页面登录的用户名
loginPassword: 123456 #监控页面所需的密码
allow: #允许的IP。 deny优先于allow,如果在deny列表中,就算在allow列表中,也会被拒绝。如果allow没有配置或者为空,则允许所有访问
web-stat-filter: #webStatFilter配置
enabled: true #是否启用StatFilter默认值false
dynamic:
druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
# 连接池的配置信息
# 初始化大小,最小,最大
initial-size: 5 #初始化时建立物理连接个数
min-idle: 5 #最小连接池数量
maxActive: 20 #最大连接池数量
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
#用来检测连接是否有效的sql,要求是一个查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用
validationQuery: SELECT 1 FROM DUAL
#建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效
testWhileIdle: true
#申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
testOnBorrow: false
#归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
testOnReturn: false
# 打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,slf4j
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource: #数据源配置
master:
url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
# 多数据源配置
#multi-datasource1:
#url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
#username: root
#password: root
#driver-class-name: com.mysql.cj.jdbc.Driver
#redis 配置
redis:
database: 0 #连接工厂使用的数据库索引
host: 127.0.0.1 #Redis服务器主机
lettuce:
pool:
max-active: 8 #最大连接数据库连接数,设 -1 为没有限制 使用负值无限制
max-idle: 8 #最大等待连接中的数量,设 0 为没有限制 使用负值表示无限数量的空闲连接
max-wait: -1ms #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。 使用负值无限期阻止
min-idle: 0 #最小等待连接中的数量,设 0 为没有限制 此设置仅在其为正时才有效
shutdown-timeout: 100ms
password: '' #redis服务器的登录密码
port: 6379 #Redis服务器端口
#mybatis plus 设置
mybatis-plus: #配置映射文件扫描路径
mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml
global-config:
# 关闭MP3.0自带的banner
banner: false
db-config:
#主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
id-type: ASSIGN_ID
# 默认数据库表下划线命名
table-underline: true
configuration:
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 返回类型为Map,显示null对应的字段
call-setters-on-nulls: true
#jeecg专用配置
#JimuReport[minidao配置]
minidao:
base-package: org.jeecg.modules.jmreport.*
#JimuReport[上传配置]
jeecg:
# 是否启用安全模式
safeMode: false
# 签名密钥串(前后端要一致,正式发布请自行修改)
signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
# 本地:local\Minio:minio\阿里云:alioss
uploadType: local
path:
#文件上传根目录 设置
upload: D://opt//upFiles
#webapp文件路径
webapp: D://opt//webapp
shiro:
excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**
#阿里云oss存储和大鱼短信秘钥配置
oss:
accessKey: ??
secretKey: ??
endpoint: oss-cn-beijing.aliyuncs.com
bucketName: jeecgdev
staticDomain: https://static.jeecg.com
# ElasticSearch 设置
elasticsearch:
cluster-name: jeecg-ES
cluster-nodes: 81.70.47.128:9200
check-enabled: false
# 表单设计器配置
desform:
# 主题颜色(仅支持 16进制颜色代码)
theme-color: "#1890ff"
# 文件、图片上传方式,可选项:qiniu(七牛云)、system(跟随系统配置)
upload-type: system
map:
# 配置百度地图的AK,申请地址:https://lbs.baidu.com/apiconsole/key?application=key#/home
baidu: ??
# 在线预览文件服务器地址配置
file-view-domain: http://127.0.0.1:8012
# minio文件上传
minio:
minio_url: http://minio.jeecg.com
minio_name: ??
minio_pass: ??
bucketName: ??
#大屏报表参数设置
jmreport:
mode: prod
#数据字典是否进行saas数据隔离,自己看自己的字典
saas: false
#是否需要校验token
is_verify_token: false
#必须校验方法
verify_methods: remove,delete,save,add,update
#Wps在线文档
wps:
domain: https://wwo.wps.cn/office/
appid: ??
appsecret: ??
#xxl-job配置
xxljob:
enabled: false
adminAddresses: http://127.0.0.1:9080/xxl-job-admin # 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
appname: ${spring.application.name} #执行器AppName,选填,执行器心跳注册分组依据,为空则关闭自动注册
accessToken: '' #执行器通讯Token,选填,非空时启用
address: 127.0.0.1:30007 #执行器注册,优先使用该配置作为注册地址
ip: 127.0.0.1 #执行器IP,默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";
port: 30007 #执行器端口号,小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
logPath: logs/jeecg/job/jobhandler/ #执行器运行日志文件存储磁盘路径
logRetentionDays: 30 #执行器日志文件保存天数,选填,过期自动清理,限制值大于3时生效,否则,如-1,关闭自动清理功能
route: #配置所有服务的路由转发规则和路径以及标识
config:
data-id: jeecg-gateway-router
group: DEFAULT_GROUP
#自定义路由配置 yml nacos database
data-type: database
#分布式锁配置
redisson:
address: 127.0.0.1:6379
password:
type: STANDALONE
enabled: true
#Mybatis输出sql日志
logging:
level:
org.jeecg.modules.system.mapper: info
#cas单点登录
cas:
prefixUrl: http://cas.example.org:8443/cas
#swagger
knife4j:
#开启增强配置
enable: true
#开启生产环境屏蔽
production: false
basic:
enable: true
username: jeecg
password: jeecg1314
#第三方登录
justauth:
enabled: true #是否启用 JustAuth
type:
GITHUB:
client-id: ?? #客户端id,对应各平台的appKey,必填
client-secret: ?? #客户端Secret,对应各平台的appSecret,必填
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/github/callback #登录成功后的回调地址,必填
WECHAT_ENTERPRISE:
client-id: ??
client-secret: ??
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_enterprise/callback
agent-id: ?? #企业微信,授权方的网页应用ID,当使用企业微信登录时, 该值必填
DINGTALK:
client-id: ??
client-secret: ??
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/dingtalk/callback
WECHAT_OPEN:
client-id: ??
client-secret: ??
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_open/callback
cache: #JustAuth缓存配置
type: default #缓存类型,可选选项:default/redis/custom; default使用JustAuth默认的缓存实现,redis使用默认的redis缓存实现,custom用户自定义缓存实现
prefix: 'demo::' #缓存前缀,目前只对redis缓存生效,默认 JUSTAUTH::STATE::
timeout: 1h #超时时长,目前只对redis缓存生效,默认3分钟
#第三方APP对接
third-app:
enabled: false #是否启用third-app
type:
#企业微信
WECHAT_ENTERPRISE:
enabled: false
#CORP_ID
client-id: ??
#SECRET
client-secret: ??
#自建应用id
agent-id: ??
#自建应用秘钥(新版企微需要配置)
# agent-app-secret: ??
#钉钉
DINGTALK:
enabled: false #是否启用DINGTALK
# appKey
client-id: ??
# appSecret
client-secret: ??
agent-id: ??