Java 配置文件(.yml .properties) 常用配置

Java-常用配置

  • 配置文件
      • 配置文件下载官网地址
      • SpringBoot配置文件(KEY-VALUE结构)
        • 端口、路径配置:
        • 数据源(DataSource)配置
        • hikari 数据连接池配置:
        • Mybatis-plus配置
        • 日志(sql)打印配置
        • shiro的配置
        • 环境切换

配置文件

配置文件下载官网地址

jar包查询网址: https://mvnrepository.com
阿里maven镜像网址: https://maven.aliyun.com/mvn/guide
springboot生成器: https://start.spring.io/

SpringBoot配置文件(KEY-VALUE结构)

SpringBoot的配置文件有两种:
application.properties
application.yml

两者区别如下:

特点:
properties编辑的数据 本质都是String类型的字符串
properties中的key value结构使用 =号方法动态链接
properties中无需添加多余的’'号
properties中加载时默认的字符集的编码格式是ISO-8859-1 如果写中文需要指定字符集

特点
yml中 key/value 使用 :+空格 方式连接
yml中文件有层级关系,注意缩进
yml中加载时默认的字符集时UTF-8,不会出现乱码情况。

默认情况下是properties结尾的配置文件,都放在src/main/resources目录。

正常的情况是先加载yml,再加载properties文件。如果相同的配置存在于两个文件中。最后会使用properties中的配置。最后读取的优先集最高。

配置优先级从高到低:pom.xml> user settings > global settings

–file:./config/
–file:./
–classpath:/config/
–classpath:/
优先级由高到底,高优先级的配置会覆盖低优先级的配置

环境分隔符"—"拆分成两个yml 实现 环境切换

端口、路径配置:

server:
#端口号
  port: 8080
  servlet:
#项目访问路径
    context-path: /

数据源(DataSource)配置

#由于pom.xml文件中添加jdbc的依赖包,所以该行必须配置
spring:
 datasource:
  url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
  username: root
  password: root
  
#serverTimezone=GMT%2B8 配置时区 GMT"%2B" → "+8" 东八区 
#useUnicode=true 是否使用Unicode编码 
#characterEncoding=utf8  字符集编码格式 utf-8编码 
#autoReconnect=true 是否断线后自动重连  
#allowMultiQueries=true 是否允许mybatis执行多个sql(批量操作)默认每个标签只能允许编辑一行有效sql

hikari 数据连接池配置:

#springboot默认的数据连接池 HikariCP效率最高,支持高并发

connection-timeout: 30000 #等待连接池分配连接的超时时间,超过时间还没有分配就发生SQLException 默认30秒
minimum-idle: 5           #最小连接数
maximum-pool-size: 20     #最大连接数
auto-commit: true         #自动提交
idle-timeout: 60000       #连接超时的最大时间,超时则被释放,默认10分钟
max-lifetime: 1800000     #连接的生命时长,超时没有被使用则释放,默认30分钟
connection-test-query: select 1
pool-name: DatasourceHikariCP #连接池名称

Mybatis-plus配置

mybatis-plus:
#定义别名包 作用: 以后封装POJO对象时自动进行拼接
 type-aliases-package: com....pojo
#引入mapper配置文件
 mapper-locations: classpath:/.../.xml
#开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true
#驼峰规则方法:
	#字段 user_id 映射时,会自动的去处 _ 线之后首字母大写 userId 
	#动态赋值给属性

日志(sql)打印配置

logging:
  level: 
    com./.mapper: debug

shiro的配置

shiro:
  hash-algorithm-name: md5
  hash-iterations: 2
  login-url: /index.html
  unauthorized-url: /unauthorized.html
  anon-urls:
    - /api/login/doLogin*
    - /api/druid/**
    - /api/swagger-ui.html
    - /api/webjars/**
    - /api/swagger-resources/
    - /api/v2/**
    - /api/login/captcha
    - /api/login/checkLogin
  logout-url: /api/login/logout*
  authc-urls:
    - /*

环境切换

开发时可能会遇到 办公地点的变化. 开发可能在公司完成,但是线上部署时需要在甲方完成.
开发环境和测试环境可能不同.如果频繁修改 效率太低.

# 选择默认环境  SpringCloud 配置中心机制  统一管理YML配置文件
spring:
  profiles:
    active: test
---
# 特点:
#   1. YML中 key/value  使用   :+空格   方式链接
#   2. YML中文件有层级关系  写的时候注意缩进.
#   3. YML中默认的程序加载时默认的字符集是UTF-8编码. 所以不会有中文乱码问题.
server:
  port: 8080

#定义环境名称
spring:
  config:
    activate:
      on-profile: prod


#测试案例1:属性赋值  注意事项 编辑key时最好添加业务名称
redis:
  host: 10.0.0.4
  port: 6379

#环境分隔符 原来的一个YML 拆分为2个YML
---
server:
  port: 9000

#定义环境名称
spring:
  config:
    activate:
      on-profile: test
redis:
  host: 192.168.1.1
  port: 7000

你可能感兴趣的:(配置,java,mybatis,maven,spring,mysql)