1. 配置文件说明
Springboot启动默认扫描的配置为classes目录下的application.yml 或者是 application.properties
我们项目中是使用的yml格式的配置文件,所以是application.yml配置文件
请看项目中怎么会有这么多个类似的application.yml的文件,
请看下图
上图中所有配置文件含义;
项目启动扫描肯定要扫描application.yml, 但是我们作为开发者,肯定在想,不管系统发布还是开发还是测试,多需要手动改配置文件的数据库连接地址,然后再编译打包运行程序吗?那也太麻烦了,所以说springboot就考虑的非常周到,你在application-xxxx.yml, 你把名字xxx替换成test一般为测试,dev一般为开发,prod一般为发布,总之这个xxxxx你可以随便写,但是必须要有一个application.yml,因为springboot启动先找到他,然后可以通过这里面配置的profiles 激活的配置文件的 名字来找到他,(spring. Profiles这个名字必须和文件名-后面的xxxx对应起来)
按照下面的严格格式。
这个图片就是application.yml中写的配置,这个文件就只充当了,让springboot再去寻找哪一个配置文件。
Dev就是指的是application-dev.yml
application.yml文件中的
spring:
profiles:
active: 这个地方的xxxxxx对应这个application-dev.yml文件中的
spring:
profiles: dev
配置文件的格式是通过行数缩进来进行区分父子级别的关系的:
server:
port:8083
相当于原来配置文件写法的server.prot=8083
server:
port: 8083 #tomcat端口号
tomcat:
uri-encoding: UTF-8 # 配置Tomcat编码,默认为UTF-8
max-threads: 1000 # 配置最大线程数
max-http-post-size: -1 #取消tomcat post最大限制
maxConnections: 2000 #设置tomcat最大连接数
remote-ip-header: x-forwarded-for #远程IP地址头
protocol-header: x-forwarded-proto
port-header: X-Forwarded-Port
use-forward-headers: true
compression: #设置压缩的媒体类型
enabled: true
mime-types: application/json,application/xml,text/html,text/xml,text/plain
# context-path: /andot #设置全文目录如果设置之后,所有访问都需要加mine 例如localhost:8083/andot/login, 如果不设置则访问:localhost:8083/login
# ssl: #设置https
# key-store: D:InstallSoftnginx-1.15.6ssltomcat.keystore
# key-store-password: 123456
# keyStoreType: JKS
# keyAlias: tomcat
web: #顶一个外部路径
upload-path: D://andotResource/
spring:
profiles: dev # 本地开发环境配置
mvc: #开启mvc jsp路径
view:
prefix: /WEB-INF/webpage/
suffix: .jsp
thymeleaf: #关闭默认模板引擎
cache: false
enabled: false
devtools:
restart: #热部署生效
enabled: true
#additional-paths: src/main/java #设置重启的目录
#classpath #目录下的WEB-INF文件夹内容修改不重启
exclude: WEB-INF/**
aop:
auto: true #是否进行切面编程
datasource: #数据源
monitor: #每一个数据源的区分名字, 因为项目中有多个数据源,如果只有一个则不需要书写
type: com.alibaba.druid.pool.DruidDataSource #使用阿里巴巴数据库连接池
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/andot?useUnicode=true&characterEncoding=UTF-8
username: root
password: 123456 #下面则是
initialSize: 1
maxActive: 50
maxWait: 80
validationQuery: SELECT 1
testOnBorrow: false
testOnReturn: false
testWhileIdle: true
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 25200000
removeAbandoned: true
removeAbandonedTimeout: 1800
defaultAutoCommit: true
logAbandoned: true
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall
useGlobalDataSourceStat: true
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# druid具体配置详细则查看官方wiki
# https://github.com/alibaba/druid/wiki
resources: #设置静态文件目录
static-locations: /,file:${web.upload-path} #直接获取的上面定义的路径
http: #设置http请求的配置属性
multipart:
max-file-size: 100MB
max-request-size: 100MB
#连接池监控 这个需要配合具体实现类设置
# https://blog.csdn.net/garyond/article/details/80189939
alibaba:
druid:
#用户名
loginUsername: admin
#密码
loginPassword: 666666
#允许访问地址IP
allow: 127.0.0.1
mybatis: #mybatissql文件地址
config-location: classpath:/cn/mapper/**/*Mapper.xml
pagehelper: #pagehepler逻辑分页插件,配合mybatis绝配
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
logging:# log日志的一些配置
level:
cn: DEBUG,CONSOLE
config: classpath:logback-dev.xml
thread: #配置线程池的一些属性
pool:
corePoolSize: 15
maxPoolSize: 30
queueCapacity: 100
keepAliveSeconds: 120
配置文件中还可以自定义属性
例如:
application:
message: Hello BJ
在启动类中:@Configuration 或者@Component
设置字段@Value(“application.message”)
则可以获取到Hello BJ