简介
springboot的各种常用的配置。
springboot
项目是要打成jar包放到服务器上运行的。
打包
idea上使用maven打包的时候,会执行自动测试,可能会对数据库中的数据有影响,先点跳过测试,在点package。
运行
Windows上运行的话只需要在打包好的jar包目录上进入cmd,然后执行java -jar jar包名
即可运行。
注意:如果运行不成功,提示没有主清单属性,检查pom.xml文件中是否有< skip>true< /skip>
,删除掉这一行。
临时属性
可以在启动项目的时候加上临时属性。
java -jar test.jar --server.port=8080
如果有多个,可以空格隔开。
idea上使用临时属性
在主启动类上的args形参就是读取外部临时配置的参数。
配置文件
springboot中分成4级:
- 项目类路径配置文件:开发人员本机开发和测试(等级最低)
- 项目类路径config目录中的配置文件:项目经理整体调控
- 工程路径配置文件:运维人员配置涉密线上环境
- 工程路径config目录中配置文件:运维经理整体调控(等级最高)
多层级配置配置文件间的属性采用叠加并覆盖的形式作用与程序。
自定义配置文件
配置文件不是application的时候,项目是找不到配置文件的。
可以通过idea上的configurations设置配置文件名,也可以写路径,可以写多个,用逗号隔开
多环境配置
单个文件
可以设置多个开发环境,如测试,生产,开发,然后指定一个环境。
# application.yml
spring:
profiles:
active: test
# 生产环境配置
---
spring:
profiles: pro
server:
port: 80
# 测试环境配置
---
spring:
profiles: test
server:
port: 81
# 开发环境配置
---
spring:
profiles: dev
server:
port: 82
多个文件
application-dev.yml文件:
server:
port: 82
application-test.yml文件:
server:
port: 81
application-pro.yml文件:
server:
port: 80
application.yml文件中选择想要的环境:
# application.yml
spring:
profiles:
active: dev
启动项目后
配置文件分组
使用group属性设置配置文件分组,使得线上维护管理更容易。
spring:
profiles:
active: dev
group:
"dev" : 配置文件名1,配置文件名2
"pro" : 配置文件名3,配置文件名3
在active中指定加载哪个组的配置文件。
如果有相同的属性,后面的会覆盖前面的。
扩展:也可以使用include属性
spring:
profiles:
active: dev
include: 配置文件名1,配置文件名2
maven控制配置文件
maven可以控制配置文件,springboot是依赖于maven的,也即maven来控制springboot,配置也是。
maven中配置多环境开发:
<profiles>
<profile>
<id>dev</id><!--id可以自定义,只是为了区分profile-->
<properties>
<profile.properties>dev</profile.properties><!--profile.properties就是被yaml读取的,可自定义名字-->
</properties>
<activation><!--默认使用哪个-->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>pro</id>
<properties>
<profile.properties>pro</profile.properties>
</properties>
</profile>
</profiles>
在springboot的配置文件中,使用@profile.active@
读取maven的默认值
spring:
profiles:
active: @profile.active@
group:
"dev" : 配置文件名1,配置文件名2
"pro" : 配置文件名3,配置文件名3
执行package,即可在生成的jar包中看到配置文件的配置是maven中的配置。如果没有生效,点一下maven的compile手动编译一下。
日志的使用
使用 private static final Logger log = LoggerFactory.getLogger(类名.class);
创建Logger对象log,然后在需要打印日志的地方log.info("信息");
也可以使用lombok简化,只需要在类上加上@Slf4j
即可,在需要打印日志的地方还是使用log.info("信息")
;。
日志的常用级别:
- debug
- info
- warn
- error
可以在配置文件application.yml中设置显示的日志级别
logging:
level:
root: info/error/warn/debug
格式
日志格式包括的信息:日期,进程,线程,所在类或者接口,日志信息
设置日志的模版格式
在yaml配置文件中可以配置
logging:
pattern:
console: "%d - %m %n"
设置日志文件
在yml配置文件中
logging:
file:
name: server.log
logback:
rollingpolicy:
file-name-pattern: server.%d{yyyy-MM-dd}.%i.log#命名格式
max-file-size: 2KB#日志多大就创建个新的文件