当前位置: 首页 > news >正文

springboot的学习(二):常用配置

简介

springboot的各种常用的配置。

springboot

项目是要打成jar包放到服务器上运行的。

打包

idea上使用maven打包的时候,会执行自动测试,可能会对数据库中的数据有影响,先点跳过测试,在点package。
在这里插入图片描述

运行

Windows上运行的话只需要在打包好的jar包目录上进入cmd,然后执行java -jar jar包名即可运行。
注意:如果运行不成功,提示没有主清单属性,检查pom.xml文件中是否有< skip>true< /skip>,删除掉这一行。
在这里插入图片描述

临时属性

可以在启动项目的时候加上临时属性。
java -jar test.jar --server.port=8080
如果有多个,可以空格隔开。

idea上使用临时属性
在这里插入图片描述
在主启动类上的args形参就是读取外部临时配置的参数。
在这里插入图片描述

配置文件

springboot中分成4级:

  1. 项目类路径配置文件:开发人员本机开发和测试(等级最低)
  2. 项目类路径config目录中的配置文件:项目经理整体调控
  3. 工程路径配置文件:运维人员配置涉密线上环境
  4. 工程路径config目录中配置文件:运维经理整体调控(等级最高)

多层级配置配置文件间的属性采用叠加并覆盖的形式作用与程序。

自定义配置文件

在这里插入图片描述
配置文件不是application的时候,项目是找不到配置文件的。
可以通过idea上的configurations设置配置文件名,也可以写路径,可以写多个,用逗号隔开
在这里插入图片描述

多环境配置

单个文件

可以设置多个开发环境,如测试,生产,开发,然后指定一个环境。

# application.yml
spring:profiles:active: test # 生产环境配置
---
spring:profiles: pro
server:port: 80# 测试环境配置
---
spring:profiles: test
server:port: 81# 开发环境配置
---
spring:profiles: dev
server:port: 82
多个文件

在这里插入图片描述
application-dev.yml文件:

server:port: 82

application-test.yml文件:

server:port: 81

application-pro.yml文件:

server:port: 80

application.yml文件中选择想要的环境:

# application.yml
spring:profiles:active: dev

启动项目后
在这里插入图片描述

配置文件分组

使用group属性设置配置文件分组,使得线上维护管理更容易。

spring:profiles:active: devgroup:"dev" : 配置文件名1,配置文件名2"pro" : 配置文件名3,配置文件名3

在active中指定加载哪个组的配置文件。
如果有相同的属性,后面的会覆盖前面的。

扩展:也可以使用include属性

spring:profiles:active: devinclude: 配置文件名1,配置文件名2

maven控制配置文件

maven可以控制配置文件,springboot是依赖于maven的,也即maven来控制springboot,配置也是。
maven中配置多环境开发:

<profiles><profile><id>dev</id><!--id可以自定义,只是为了区分profile--><properties><profile.properties>dev</profile.properties><!--profile.properties就是被yaml读取的,可自定义名字--></properties><activation><!--默认使用哪个--><activeByDefault>true</activeByDefault></activation></profile><profile><id>pro</id><properties><profile.properties>pro</profile.properties></properties></profile>
</profiles>

在springboot的配置文件中,使用@profile.active@读取maven的默认值

spring:profiles:active: @profile.active@group:"dev" : 配置文件名1,配置文件名2"pro" : 配置文件名3,配置文件名3

执行package,即可在生成的jar包中看到配置文件的配置是maven中的配置。如果没有生效,点一下maven的compile手动编译一下。

日志的使用

使用 private static final Logger log = LoggerFactory.getLogger(类名.class);创建Logger对象log,然后在需要打印日志的地方log.info("信息");
也可以使用lombok简化,只需要在类上加上@Slf4j即可,在需要打印日志的地方还是使用log.info("信息");。

日志的常用级别:

  • debug
  • info
  • warn
  • error

可以在配置文件application.yml中设置显示的日志级别

logging:level:root: info/error/warn/debug
格式

在这里插入图片描述

日志格式包括的信息:日期,进程,线程,所在类或者接口,日志信息

设置日志的模版格式

在yaml配置文件中可以配置

logging:pattern:console: "%d - %m %n"

在这里插入图片描述

设置日志文件

在yml配置文件中

logging:file:name: server.loglogback:rollingpolicy:file-name-pattern: server.%d{yyyy-MM-dd}.%i.log#命名格式max-file-size: 2KB#日志多大就创建个新的文件

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【算法 04】汉诺塔递归求解和通式求解
  • 【Linux基础】Linux中的开发工具(1)--yum和vim
  • 【学习笔记】Day 11
  • C++11中的左右值引用(略带复习)
  • PyTorch 基础学习(1) - 快速入门
  • 从零开始搭建 LVS 高性能集群 (DR模式)
  • JAVA中的对象流ObjectInputStream
  • uniapp实现自定义弹窗组件,支持富文本传入内容
  • Linux:Linux环境基础开发工具使用
  • DIAdem 与 LabVIEW
  • 【数据结构篇】~顺序表
  • Golang | Leetcode Golang题解之第336题回文对
  • 分布式锁实现方案--redis、zookeeper、mysql
  • Java从zip文件中读取指定的csv文件使用EasyExcel解析出现流关闭异常Stream closed
  • 【常见算法题】斐波那契数列(矩阵快速幂)
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • flask接收请求并推入栈
  • Javascript基础之Array数组API
  • Java应用性能调优
  • python docx文档转html页面
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • SpiderData 2019年2月13日 DApp数据排行榜
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • Swoft 源码剖析 - 代码自动更新机制
  • Tornado学习笔记(1)
  • 动态魔术使用DBMS_SQL
  • 给初学者:JavaScript 中数组操作注意点
  • 如何用vue打造一个移动端音乐播放器
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 深度学习在携程攻略社区的应用
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 微信小程序开发问题汇总
  •  一套莫尔斯电报听写、翻译系统
  • 赢得Docker挑战最佳实践
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​马来语翻译中文去哪比较好?
  • # Apache SeaTunnel 究竟是什么?
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #QT(QCharts绘制曲线)
  • (SERIES12)DM性能优化
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (转)socket Aio demo
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • *2 echo、printf、mkdir命令的应用
  • .htaccess 强制https 单独排除某个目录
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .Net Core 笔试1
  • .NET Core 中插件式开发实现
  • .net framework 4.8 开发windows系统服务
  • .NET Reactor简单使用教程
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...