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

news2024/11/24 18:30:16

简介

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: dev
    group:
      "dev" : 配置文件名1,配置文件名2
      "pro" : 配置文件名3,配置文件名3

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

扩展:也可以使用include属性

spring:
  profiles:
    active: dev
    include: 配置文件名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.log
  logback:
    rollingpolicy:
      file-name-pattern: server.%d{yyyy-MM-dd}.%i.log#命名格式
      max-file-size: 2KB#日志多大就创建个新的文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2045866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新闻资讯小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;新闻类别管理&#xff0c;新闻信息管理&#xff0c;用户管理&#xff0c;管理员管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;新闻信息&#xff0c;我的 开发系统&a…

极市平台 | 如何通俗理解扩散模型?

本文来源公众号“极市平台”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;如何通俗理解扩散模型&#xff1f; 极市导读 还有谁没有看过diffusion的工作&#xff0c;席卷AI圈的diffusion到底是什么&#xff1f;本文作者用尽量通…

tcpdump快速入门及实践手册

tcpdump快速入门及实践手册 1. 快速入门 [1]. 基本用法 基本用法&#xff1a; tcpdump [选项 参数] [过滤器 参数] [rootkysrv1 pwe]# tcpdump -h tcpdump version 4.9.3 libpcap version 1.9.1 (with TPACKET_V3) OpenSSL 1.1.1f 31 Mar 2020 Usage: tcpdump [-aAbdDefhH…

Python爬虫使用实例

IDE&#xff1a;大部分是在PyCharm上面写的 解释器装的多 → 环境错乱 → error&#xff1a;没有配置&#xff0c;no model 爬虫可以做什么&#xff1f; 下载数据【文本/二进制数据&#xff08;视频、音频、图片&#xff09;】、自动化脚本【自动抢票、答题、采数据、评论、点…

3.2 实体-关系模型(ER模型)

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 工&#x1f497;重&#x1f497;hao&#x1f497;&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

Keycloak中授权的实现-转载

在Keycloak中实现授权&#xff0c;首先需要了解与授权相关的一些概念。授权&#xff0c;简单地说就是某个&#xff08;些&#xff09;用户或者某个&#xff08;些&#xff09;用户组&#xff08;Policy&#xff09;&#xff0c;是否具有对某个资源&#xff08;Resource&#xf…

基于SpringBoot的餐饮订单系统-计算机毕业设计源码39867

摘 要 随着现代生活节奏的加快和人们对便捷餐饮服务的需求不断增长&#xff0c;基于Spring Boot的餐饮订单系统的设计与实现成为当前研究的关键课题。本研究旨在开发一款包括首页、通知公告、餐饮资讯、餐饮菜单、商城管理等功能模块的系统&#xff0c;旨在提供便捷高效的餐饮订…

了解一下内测系统

内测系统是什么&#xff1f; 在软件或应用程序开发的过程中&#xff0c;供开发人员进行测试和调试的系统。 内测系统的作用是什么&#xff1f; 达到让用户使用游戏或者软件的时候体验感更好、减少风险、方便开发者更好的找到并解决自己软件中的问题。测试好后的app可以将自己的…

C ++ 也可以搭建Web?高性能的 C++ Web 开发框架 CPPCMS + MySQL 实现快速入门案例

什么是CPPCMS&#xff1f; CppCMS 是一个高性能的 C Web 开发框架&#xff0c;专为构建快速、动态的网页应用而设计&#xff0c;特别适合高并发和低延迟的场景。其设计理念类似于 Python 的 Django 或 Ruby on Rails&#xff0c;但针对 C 提供了更细粒度的控制和更高效的性能。…

Linux--传输层协议UDP

目录 传输层 再谈端口号 端口号范围划分 认识知名端口号(Well-Know Port Number) 两个问题 UDP 协议 UDP 协议端格式 UDP 的特点 面向数据报 UDP 的缓冲区 UDP 使用注意事项 基于 UDP 的应用层协议 进一步理解UDP协议 传输层 负责数据能够从发送端传输接收端. 再谈…

STM32F407ZET6使用LCD(9341)

1.原理图 屏幕是中景园2.8寸液晶屏&#xff0c;9341驱动不带触摸屏版本 2.STM32CUBEMX配置 3.编写驱动程序

【全国大学生电子设计竞赛】2021年K题

&#x1f970;&#x1f970;全国大学生电子设计大赛学习资料专栏已开启&#xff0c;限时免费&#xff0c;速速收藏~

02 网络编程-UDP用户数据包协议

目录 一、UDP简介 二、UDP协议的通信流程 三、UDP相关API接口 &#xff08;1&#xff09;创建套接字-socket() &#xff08;2&#xff09;地址信息结构体sockaddr_in{} &#xff08;3&#xff09;地址转换接口 &#xff08;4&#xff09;发送消息sendto() &#xff08;…

谁偷偷看了你的网站?这两款统计工具告诉你!小白易上手~

前两天&#xff0c;上线了一个知识库网站&#xff1a;花了一天时间&#xff0c;搭了个专属知识库&#xff0c;终于上线了&#xff0c;手把手教&#xff0c;不信你学不会。 想知道这个网站的流量如何&#xff0c;怎么搞&#xff1f; 网站流量统计分析工具&#xff0c;了解下&a…

EmguCV学习笔记 C# 2.2 Matrix类

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV学习笔记目录 Vb.net EmguCV学习笔记目录 C# 笔者的博客网址&#xff1a;VB.Net-CSDN博客 教程相关说明以及如何获得pdf教…

全面解析Gerapy分布式部署:从环境搭建到定时任务,避开Crawlab的坑

Gerapy分布式部署 搭建远程服务器的环境 装好带docker服务的系统 Docker:容器可生成镜像&#xff0c;也可拉去镜像生成容器 示例&#xff1a;将一个环境打包上传到云端(远程服务器)&#xff0c;其他8个服务器需要这个环境直接向云端拉取镜像生成容器,进而使用该环境,比如有MYS…

ElasticSearch读写性能调优

文章目录 ES写入数据过程ES读取数据的过程写数据底层原理提升集群读取性能数据建模优化分片 提升写入性能的方法服务器端优化写入性能建模时的优化降低Translog写磁盘的频率&#xff0c;但是会降低容灾能力分片设定调整Bulk 线程池和队列 ES写入数据过程 客户端选择一个node发…

Linux系统编程:进程间通信 1:管道

1.进程间的互相通信的方式 进程间互相通信的方式共有7种&#xff1a; &#xff08;1&#xff09;无名管道&#xff08;同主机&#xff09; &#xff08;2&#xff09;有名管道&#xff08;同主机&#xff09; &#xff08;3&#xff09;信号&#xff08;同主机&#xff09;…

大语言模型(LLM)构建产品的一年经验总结【干货长文】

这是一份涵盖战术、运营和战略方面的大语言模型产品成功建设的实用指南。 现在是构建大型语言模型&#xff08;LLM&#xff09;的激动人心的时刻。在过去的一年里&#xff0c;LLM已经变得足够好&#xff0c;可以用于实际应用。而且它们每年都在变得更好更便宜。伴随着社交媒体上…

成功转行软件测试工程师,年薪30W+,经验总结都在这!

这是给转行做软件测试的小白的参考&#xff0c;无论是从零开始&#xff0c;或者是转行的朋友来说&#xff0c;这都是值得一看的&#xff0c;也是可以作为一种借鉴吧。 而且我决定转行IT&#xff08;互联网&#xff09;行业&#xff0c;其实理由也很简单&#xff0c;不用动体力…