目录
一、实用篇—运维。
(1)程序打包与运行(Windows版)。
(2)spring-boot-maven-plugin插件作用。
(3)程序打包与运行(Linux版)。
(4)配置高级。
(4.1)临时属性设置(命令行)。
(4.2)临时属性设置(开发环境)。
(4.3)配置文件(等级)分类。
(4.4)自定义配置文件。
(5)多环境开发。
(5.1)多环境开发—单配置文件格式(YAML版)。
(5.2)多环境开发—多配置文件格式(YAML版)。
(5.3)多环境分组管理(多配置文件再根据功能细分)。
(5.4)多环境开发控制。(Maven与SpringBoot多环境冲突现象解决方案)
(6)日志。
(6.1)日志基础。
(6.2)使用注解来获取日志对象。
(6.3)日志输出格式控制。
(6.4)日志文件。
一、实用篇—运维。
(1)程序打包与运行(Windows版)。
如果在idea中操作,则使用maven的生命周期方法:clear(删除target目录)—》package —》win + R —》java -jar springboot_01_quickstart.jar。(项目启动成功如下)
(2)spring-boot-maven-plugin插件作用。
注意:要有这个插件才能在命令行中启动成功。
JarLauncher 是 Spring Boot 中的一种启动器(Starter),但它与其他普通的启动器略有不同。
在 Spring Boot 应用程序中,JarLauncher 通常作为 Spring Boot 应用程序的默认启动器,用于启动可执行的 Jar 包。当我们使用 java -jar 命令启动 Spring Boot 应用程序时,就会自动使用 JarLauncher 进行应用程序的启动和初始化。
与其他启动器不同的是,JarLauncher 并不包含依赖项的管理和配置信息,而是专门用于解析并启动可执行的 Jar 包。同时,它还提供了一些基础的配置项,例如设置启动的 Jar 包路径、指定特定的配置文件等。
需要注意的是,尽管 JarLauncher 是 Spring Boot 中的一种启动器,但它并不需要单独引入,因为它已经被打包在 Spring Boot 库中,并作为 Spring Boot 应用程序的默认启动器。
因此,可以说 JarLauncher 是 Spring Boot 应用程序的启动器之一,但它不是普通的启动器,而是专门用于启动可执行的 Jar 包的启动器。
(3)程序打包与运行(Linux版)。
(4)配置高级。
(4.1)临时属性设置(命令行)。
(4.2)临时属性设置(开发环境)。
(4.3)配置文件(等级)分类。
properties与yml的优先级:先看层级,如果同层级目录,则properties优先级高于yml。
如:config的yml优先级大于外边的properties配置文件。
下面说的1级、2级:即配置文件与项目jar、配置文件与项目工程在同一目录。
需要注意的地方(看执行项目的是哪种格式)有两个:
1、如果执行的是jar包:yml与jar在同一目录下。
2、如果执行的是项目(非jar包):yml与springboot_03_yaml在同一目录。
配置文件分类参考如下:
(4.4)自定义配置文件。
作用:配置文件名称不用application时,就需要使用临时属性告诉springboot。
绝对路径指定自定义配置文件:
--spring.config.location=D:\springboot\springboot_09_config\src\main\resources
\ebank.yml
注意:指定了自定义配置文件,那么spirngboot默认的配置文件都不会生效。
如果指定了自定义配置文件,它将会替换默认情况下的 application.yml 或 application.properties 文件,而不是与其合并。
(5)多环境开发。
(5.1)多环境开发—单配置文件格式(YAML版)。
注意:这种暴露配置,全部都写在同一个配置文件中,开发人员可以看到。
(5.2)多环境开发—多配置文件格式(YAML版)。
(5.3)多环境分组管理(多配置文件再根据功能细分)。
第一种方式:使用include。
缺点:一改active属性值,include全都要改。
spring:profiles:active: dev(3)include: devMVC(1),devDB(2) 注意:(1)代表它最先加载,然后(2)加载。。。。;后面加载的覆盖前面加载。
第二种方式:使用group。(推荐)
优点:修改active属性值后, 其他不需要变。
spring:profiles:active: dev(1)group:"dev": devDB(2),devMVC(3)"pro": proDB(2),proMVC(3)
(5.4)多环境开发控制。(Maven与SpringBoot多环境冲突现象解决方案)
application.yml配置文件:
spring:profiles:active: @profile.active@group:"dev": devDB,devMVC"pro": proDB,proMVC
在pom.xml中:
<!--设置多环境--><profiles><profile><id>env_dev</id><properties><profile.active>dev</profile.active></properties><activation><activeByDefault>true</activeByDefault></activation></profile><profile><id>env_pro</id><properties><profile.active>pro</profile.active></properties></profile></profiles>
(6)日志。
(6.1)日志基础。
logging:level:root: infocom.itheima.controller: debugebank: debuggroup:ebank: com.itheima.controller,com.itheima.service,com.itheima.daoiservice: com.aliyun
(6.2)使用注解来获取日志对象。
(6.3)日志输出格式控制。
(6.4)日志文件。
logging:level:root: infocom.itheima.controller: debugebank: debuggroup:ebank: com.itheima.controller,com.itheima.service,com.itheima.daoiservice: com.aliyunfile:name: server.loglogback:rollingpolicy:max-file-size: 5KBfile-name-pattern: server.%d{yyyy-MM-dd}.%i.log#举例:server.2020-01-01.0.log。{yyyy-MM-dd}是格式,可以不写
# 设置日志模板格式
# pattern:
# console: "%d - %m%n"
# console: "%d %5p %n "
# console: "%d %clr(%5p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"