java常见的配置文件内容(application.properties,yml)

举报
yd_249383650 发表于 2023/03/23 11:17:37 2023/03/23
【摘要】 ​ 由于在写项目的时候经常要配置,所以整理了下,方便查找application.properties是SpringBoot框架中的一个全局的配置文件,是核心配置文件。这个配置文件主要用来配置数据库的连接,日志相关配置,以及以下功能:1)自定义属性与加载: [在配置文件中自定义属性后,可以通过@Value("${属性 名}")注解加载对应的配置属性]2)参数间的引用: 可以通过${属性名称}来...

 

由于在写项目的时候经常要配置,所以整理了下,方便查找

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。