由于在写项目的时候经常要配置,所以整理了下,方便查找
application.properties是SpringBoot框架中的一个全局的配置文件,是核心配置文件。这个配置文件主要用来配置数据库的连接,日志相关配置,以及以下功能:
1)自定义属性与加载: [在配置文件中自定义属性后,可以通过@Value("${属性 名}")注解加载对应的配置属性]
2)参数间的引用: 可以通过${属性名称}来调用属性值]
3)使用随机数:可以通过${random.int}类似的写法赋予属性随机数的特性
4)通过命令行设置属性值
5)多环境配置
application.properties
#端口号 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