由于在写项目的时候经常要配置,所以整理了下,方便查找
application.properties是SpringBoot框架中的一个全局的配置文件,是核心配置文件。这个配置文件主要用来配置数据库的连接,日志相关配置,以及以下功能: 1)自定义属性与加载: [在配置文件中自定义属性后,可以通过@Value("${属性 名}")注解加载对应的配置属性] 2)参数间的引用: 可以通过${属性名称}来调用属性值] 3)使用随机数:可以通过${random.int}类似的写法赋予属性随机数的特性 4)通过命令行设置属性值 5)多环境配置
application.properties
代码语言:javascript复制#端口号 server.port=668866 #应用的上下文路径(项目路径) server.servlet.context-path=/allModel #指定POJO扫描包来让mybatis自动扫描到自定义的POJO mybatis.type-aliases-package=com.cxs.allmodel.model #指定mapper.xml的路径 #(application上配置了@MapperScan(扫面mapper类的路径)和pom.xml中放行了mapper.xml后, #配置mapper-locations没有意义。如果mapper类和mapper.xml不在同一个路径下时,mapper-locations就有用了) mybatis.mapper-locations=classpath:com/cxs/allmodel/mapper #session失效时间(单位s) spring.session.timeout=18000 #数据库连接配置 #mysql数据库url mysql.one.jdbc-url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=Asia/Shanghai&useSSL=false #mysql数据库用户名 mysql.one.username= #数据库密码 mysql.one.password= #线程池允许的最大连接数 mysql.one.maximum-pool-size=15 #日志打印:日志级别 trace<debug<info<warn<error<fatal 默认级别为info,即默认打印info及其以上级别的日志 #logging.level设置日志级别,后面跟生效的区域,比如root表示整个项目,也可以设置为某个包下,也可以具体到某个类名(日志级别的值不区分大小写) logging.level.com.cxs.allmodel.=debug logging.level.com.cxs.allmodel.mapper=debug logging.level.org.springframework.web=info logging.level.org.springframework.transaction=info logging.level.org.apache.ibatis=info logging.level.org.mybatis=info logging.level.com.github.pagehelper = info logging.level.root=info #日志输出路径 logging.file=/tmp/api/allmodel.log #配置pagehelper分页插件 pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql #jackson时间格式化 spring.jackson.serialization.fail-on-empty-beans=false #指定日期格式,比如yyyy-MM-dd HH:mm:ss,或者具体的格式化类的全限定名 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss #指定日期格式化时区,比如America/Los_Angeles或者GMT 10 spring.jackson.time-zone=GMT 8 #设置统一字符集 spring.http.encoding.charset=utf8 #redis连接配置 # redis所在主机ip地址 spring.redis.host= #redis服务器密码 spring.redis.password= #redis服务器端口号 spring.redis.port= #redis数据库的索引编号(0到15) spring.redis.database=14 ## 连接池的最大活动连接数量,使用负值无限制 #spring.redis.pool.max-active=8 # ## 连接池的最大空闲连接数量,使用负值表示无限数量的空闲连接 #spring.redis.pool.max-idle=8 # ## 连接池最大阻塞等待时间,使用负值表示没有限制 #spring.redis.pool.max-wait=-1ms # ## 最小空闲连接数量,使用正值才有效果 #spring.redis.pool.min-idle=0 # ## 是否启用SSL连接. ##spring.redis.ssl=false # ## 连接超时,毫秒为单位 #spring.redis.timeout= 18000ms # ## 集群模式下,集群最大转发的数量 #spring.redis.cluster.max-redirects= # ## 集群模式下,逗号分隔的键值对(主机:端口)形式的服务器列表 #spring.redis.cluster.nodes= # ## 哨兵模式下,Redis主服务器地址 #spring.redis.sentinel.master= # ## 哨兵模式下,逗号分隔的键值对(主机:端口)形式的服务器列表 #spring.redis.sentinel.nodes= 127.0.0.1:5050,127.0.0.1:5060
(1)YAML 是 JSON 的超集,简洁而强大,是一种专门用来书写配置文件的语言,可以替代 application.properties。 (2)在创建一个 SpringBoot 项目时,引入的 spring-boot-starter-web 依赖间接地引入了 snakeyaml 依赖, snakeyaml 会实现对 YAML 配置的解析。 (3)YAML 的使用非常简单,利用缩进来表示层级关系,并且大小写敏感。
server:
#设置请求端口
port: 8080
servlet:
#指定 Tomcat的请求路径
context-path: /cl
#设置 Tomcat 编码格式
encoding:
charset: UTF-8
mybatis:
#加载 mapper.xml 文件到容器中
mapper-locations: classpath:mapper/*.xml
# 别名,简化 mapper.xml 中请求响应参数类型
type-aliases-package: com.cl.springboot.pojo
configuration:
#开启驼峰映射
map-underscore-to-camel-case: true
# sql日志的打印
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
PLAINTEXT 复制 全屏
spring:
datasource:
#mysql的配置加载驱动类信息
driver-class-name: com.mysql.jdbc.Driver
#mysql的连接信息
url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone = GMT
#用户名
username: root
#密码
password: 123456
# Type 设置使用何种类型的数据源
type: com.alibaba.druid.pool.DruidDataSource
#redis配置
redis:
database: 0
# Redis服务器地址
host: 127.0.0.1
# Redis服务器连接端口
port: 6379
# Redis服务器连接密码(默认为空)
password:
jedis:
pool:
# 连接池最大连接数(使用负值表示没有限制)
max-active: 8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1
# 连接池中的最大空闲连接
max-idle: 8
# 连接池中的最小空闲连接
min-idle: 0
# 连接超时时间(毫秒)默认是2000ms
timeout: 2000ms
#Druid 数据源属性配置 (需要创建数据源配置类,进行配置才会生效)
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500