分为两块程序打包 程序运行
基于maven工程下的执行maven的生命周期进行package双击运行
在target目录下生成工程文件.jar
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
打包必须涵盖springboot自带的打包插件,在执行maven的package才能在cmd窗口正常执行否则会显示找不到主清单 因为两种打包方式压缩的文件数不同,携带的文件资源路径不对
cmd快速查找80端口是否占用 netstat -nao | findstr “80”
查看含有字符串80任务列表tasklist | findstr “80”
基于linux安装jdk和mysql的驱动jar
在对应的数据库创建相匹配的数据库表
将打包好的工厂文件的安装包保存在linux系统/usr/local/自定义目录或$HOME下
在对应项目工程文件目录下启用终端(cmd)使用java -jar 工程文件.jar 运行查看
java -jar 工程文件.jar --server.port=端口号
携带多个属性启动Springboot,属性间使用空格分隔
config目录下的application配置大于resourses下的application文件
1级:file:config/application.yml(最高)
2级:file:application.yml
3级:classpath:config/application.yml
4级:classpath:application.yml(最低)
当配置多个文件时,配置在后面的文件配置生效
三个分割线把环境区分开
#应用环境
spring:
profiles:
active: pro
---
# 设置环境
# 生产环境
spring:
profiles: pro
server:
port: 80
---
# 开发环境
spring:
profiles: dev
server:
port: 81
---
# 测试环境
spring:
profiles: test
server:
port: 82
避免泄露信息 分为四个配置信息
properties文件后缀的同上配置
各环境中有相同的配置,在配置的时候后加载的覆盖前加载的
引用多环境需要使用逗号分隔
dev只是一个环境名称 有各种不同的环境配置
将原有的yml文件分为出各个属性文件:application.dev.yml application-devDB.yml application-devMVC.yml
application.yml里引用配置即可 使用include包含其他配置
application-devDB.yml:写数据库环境配置
application-devMVC.yml :MVC环境配置
spring:
profiles:
active: dev
include: devDB,devMVC
使用group设定若干环境组 引用哪个环境 自动加载该环境组
spring:
profiles:
active: dev
group:
"dev": devDB,devMVC
"pro": proDB,proMVC
maven和springboot都有多环境配置profile
在pom文件中设置多环境 在pom文件里设置了变量 springboot来读
<profiles>
<profile>
<id>env_proid>
<properties>
<profile.active>proprofile.active>
properties>
<activation>
<activeByDefault>trueactiveByDefault>
activation>
profile>
<profile>
<id>env_devid>
<properties>
<profile.active>devprofile.active>
properties>
profile>
profiles>
当maven与Spirngboot同时对多环境进行控制时,以maven为主,springboot使用@…@占位符读取maven对应的配置属性值
springboot的yml文件读取
spring:
profiles:
active: @profile.active@
group:
"dev": devDB,devMVC
"pro": proDB,proMVC
我们通常是写maven配置为主,让springboot(为辅)来读maven的配置
基于Springboot读取maven配置属性的前提下,如果在idea测试工程时pom.xml每次更新需要手动compile可生效
引用包文件
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
创建对象
//创建记录日志对象
private static final Logger log = LoggerFactory.getLogger(BookController.class);
对象调用,日志记录
log.debug("debug...");
log.info("info....");
log.error("error...");
log.warn("warn...");
在springboot配置文件中进行配置
配置日志组,或者代码包的形式对日志进行级别控制
# 一般是写全局配置日志
# 开启debug模式,输出调试信息,常用于检查系统状况
debug: true
# root设置的大于debug,上面的debug值设置相关于springboot相关的
# root是真个包下的debug
# 设置日志级别,root表示根节点,即对整体应用日志级别
logging:
# 设置分组来定义日志级别
group:
# 分别为哪几个包
ebank: 包1,包二,包三
# 服务包的配置
iservice: com.alibaba
level:
# root是全代码的日志级别
root: debug
# 设置某个包的日志级别
包名: 日志级别
# 设置分组包的日志级别
ebank: warn
让基类继承工具类来创建日志对象
public class BaseClass {
private Class clazz;
public static Logger log;
public BaseClass(){
clazz = this.getClass();
log = LoggerFactory.getLogger(clazz);
}
}
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
dependency>
使用注解之后产生的日志对象为log,可以快速调用
减少日志的声明对象
@Slf4j
//Rest模式
@RestController
@RequestMapping("/books")
public class BookController {
@GetMapping
public String getById(){
System.out.println("SpringBoot is running.....");
log.debug("debug...");
log.info("info....");
log.error("error...");
log.warn("warn...");
return "SpringBoot is running.....";
}
}
在springboot的配置文件中进行修改
设置日志模板格式
logging:
pattern:
# console: "%d - %m %n"
console: "%d %clr(%5p) --- [%16t] %clr(%-40.40c : %m){cyan} %n"
**%clr(%-40.40c : %m){cyan}**表示:向左对齐截40位的类名
百分号后带数字加简写字母:代表该位占多少位字符
%clr:颜色显示 给谁用包裹谁,设置颜色是在包裹的括号外加{颜色}
%d:日期
%m:消息
%n:换行
%p:日志级别
%t:线程名
%c:类名
logging:
file:
#设置日志文件名称
name: server.log
logging:
file:
name: server.log
logback:
# 滚动日志 日志按时间存放 或者 日志文件超出容量再创建新的存储
rollingpolicy:
# 规定日志文件容量大小
max-file-size: 5KB
# 指定日志文件名称格式
file-name-pattern: server.%d{yyyy-MM-dd}.%i.log