知识点
- 使用
SpringBoot
提供的maven
插件可以将工程打包成可执行jar
包然后执行,即java –jar xxx.jar
,下面的图是MANIFEST.MF
文件的内容:
![在这里插入图片描述](https://img-blog.csdnimg.cn/79c33999b4364581ae2cf4839730cc9f.png#pic_center)
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
- 命令行启动常见问题及解决方案(针对
Windows
系统):
netstat -ano
netstat -ano |findstr "端口号"
tasklist |findstr "进程PID号"
taskkill /F /PID "进程PID号"
taskkill -f -t -im "进程名称"
nohup java -jar xxx.jar > xxx/xxx.log 2>&1
ps -ef | grep ""java -jar"
kill -9 xxx
SpringBoot
中4级配置文件:
- 1级(级别最高,运维经理进行线上整体项目部署方案的调控):
file:config/application.yml
,即项目jar
包所在路径下创建一个config
目录,其中的yml
文件 - 2级:
file:application.yml
,即项目jar
包所在路径下的yml
文件 - 3级(项目经理进行整体项目属性的调控):
classpath:config/application.yml
,即当前下项目的resources
目录下创建一个config
目录,其中的yml
文件 - 3级:
classpath:application.yml
,即当前下项目的resources
目录下的yml
文件
- 在命令行中可以设置
SpringBoot
的配置文件路径,不过在SpringCloud
中就使用过配置中心进行设定,动态加载配置信息:
--spring.config.location=classpath:/xxx.yml
- 假设根据功能对
application-dev.yml
配置文件(该文件还是保留了)中的信息进行拆分,并制作成独立的三个配置文件application-devDB.yml
、application-devRedis.yml
和application-devMVC.yml
,要对多个环境进行加载使其生效:
Spring:
profiles:
active: dev
include: devDB,devRedis,devMVC
Spring:
profiles:
active: dev
group:
"dev": devDB,devRedis,devMVC
"pro": proDB,proRedis,proMVC
"test": testDB,testRedis,testMVC
- 当
Maven
与SpringBoot
同时对多环境进行控制时,以Maven
为主(通过修改pom
文件进行环境的切换),SpringBoot
使用@..@
占位符读取Maven
对应的配置属性值
<profiles>
<profile>
<id>dev_env</id>
<properties>
<profile.active>dev</profile.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>pro_env</id>
<properties>
<profile.active>pro</profile.active>
</properties>
</profile>
<profile>
<id>test_env</id>
<properties>
<profile.active>test</profile.active>
</properties>
</profile>
</profiles>
spring:
profiles:
active: @profile.active@
- 日志级别(启动项目后控制台不会输出
DEBUG
级别的具体日志信息是因为默认输出INFO
及以上级别的,而DEBUG
级别低于INFO
):
TRACE
:运行堆栈信息,使用率低DEBUG
:程序员调试代码使用INFO
:记录运维过程数据WARN
:记录运维过程报警数据ERROR
:记录错误堆栈信息FATAL
:灾难信息,合并计入ERROR
- 设置日志输出级别和日志组(日志组即控制指定包对应的日志输出级别,也可以直接控制指定包对应的日志输出级别):
debug: true
logging:
level:
root: debug
-------------------------------------------------
logging:
group:
ebank: com.psj.controller
level:
root: warn
ebank: debug
- 日志输出格式如下图,要控制输出格式可以进行以下配置:
![在这里插入图片描述](https://img-blog.csdnimg.cn/b18e3ca8b3da4f8eb56d828eba2870c3.png#pic_center)
logging:
pattern:
console: "%d %clr(%p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"
logging:
file:
name: server.log
logback:
rollingpolicy:
max-file-size: 3KB
file-name-pattern: server.%d{yyyy-MM-dd}.%i.log
注意事项
- 在打包过程中会执行测试,如果写了测试代码就会执行代码,所以需要通过设置跳过测试步骤再打包
资料
视频参考黑马程序员SpringBoot2全套视频教程 P54-P69