知识点
- 使用
SpringBoot提供的maven插件可以将工程打包成可执行jar包然后执行,即java –jar xxx.jar,下面的图是MANIFEST.MF文件的内容:

<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" # 找到启动程序的pid
kill -9 xxx # 根据pid终止SpringBoot项目
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
- 日志输出格式如下图,要控制输出格式可以进行以下配置:

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