SpringBoot运维实用篇
工程打包和运行
工程打包
- mvn命令clean
- 点击
切换"跳过测试"模式
- mvn命令package
点击切换"跳过测试"模式
的目的:避免测试过程中的增删改查对数据影响
工程运行
- 找到jar包所在地址
- cmd ->>
java -jar jar名
(1.在windows中运行 2.可以使用Tab键快速补全)
打包插件
注意: jar包的运行需要配置相关的Maven插件
- 在Idea联网版
- 在阿里脚手架的SpringBoot项目
临时属性
-
使用jar命令启动SpringBoot工程时可以使用临时属性代替配置文件(优先级要大于配置文件)
-
使用方法 java -jar 工程名 --属性名=值
-
多个属性之间可以用空格隔开
-
临时文件属性名错误不影响工程开启
-
对于在yml文件中多层嵌套的配置的临时属性配置, 如在yml中
spring: datasource: druid: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC username: root password: root
想要修改username的root为admin, 临时属性配置
// java -jar (工程名) --spring.datasource.druid.username=admin
-
临时属性在开发环境下配置(Idea)
- 点击运行程序,看图
- 点击"Edit Configurations"
- 点击"Modify options"
- 勾选"Program agurments"
- 进行临时属性配置
4级配置文件分类
- 工程同级下config目录中的yml配置文件(最高)
- 工程同级目录下的yml配置文件
- classpath下config目录下(自建)的yml配置
- classpath下的yml配置文件(开发人员自测使用)(最低)
自定义配置文件
-
自定义配置文件, 文件名就可以不用application, 如我的配置为
book-service.yml
-
找到"Program argument "idea配置临时属性位置, 具体看
临时属性在开发环境下配置
-
两种方式: 1. 按文件名字配置
--spring.config.name=book-service
注意:这里不加后缀名 2.按文件所在位置配置
--spring.config.location=class path:/book-service.yml
注意:可以有多个自定义配置文件,配置时用逗号隔开(不是空格),后面的文件后覆盖前面配置的属性
多环境分组管理
-
根据功能对配置文件中的信息进行拆分,并制作成独立的配置文件,命名规则如下:
application-test.yml application-testDB.yml application-testMVC.yml #当然还有application.yml
-
application.yml配置文件中放公共不轻易修改的属性, 而一些在不同环境下具有差异性的属性放入相对应的配置文件中
-
application.yml采取从SpringBoot2.4版开始使用的group属性(代替inclue)
spring: profiles: active: test group: "dev": devDB,devRedis "test": testDB, testMVC
- 上面的情况test主配置文件会先起作用,而后面的配置文件会覆盖前面配置文件的属性
多环境开发控制
<profiles>
<profile>
<id>env_dev</id>
<properties>
<profile.active>dev</profile.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>env_test</id>
<properties>
<profile.active>test</profile.active>
</properties>
</profile>
</profiles>
spring:
profiles:
active: @profile.active@
group:
"dev": devDB,devRedis
"test": testDB, testMVC
日志
解释: 日志用于记录开发调试与运维过程信息
- 日志的级别有6种,常用的有4中:
DEBUG, INFO(默认), WARN, ERROR
. debug级别最低, error最高.所以debug的日志信息越详细 - 可以通过日志组或代码包的形式进行日志显示级别的控制
控制台输出的日志信息默认是没有debug的, 设置debug方法有三种
通过日志组或代码包的形式进行日志显示级别的控制
,如下
快速创建日志对象
- 在Maven中加上lombok的坐标
- 在需要创建日志的类上加上
@Slf4j
的注解 (沙拉风4金) - 日志对象默认的对象名就叫
log
, 所以举个例子:log.debug(“debug…”)
设置动态日志
-
logging: file: name: server.log logback: rollingpolicy: max-file-size: 3KB #日志文件最大大小 file-name-pattern: server.%d{yyyy-MM-dd}.%i.log #日志文件输出的名字