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

SpringBoot的基本概念和使用

文章目录

  • 一、什么是SpringBoot
  • 二、Spring Boot优点
  • 三、Spring Boot项目创建
  • 四、Spring Boot 配置文件
    • 1. yml语法
    • 2.properties与yml关系
    • 3.多系统的配置
  • 五、Spring Boot日志文件
    • 1.日志对象
    • 2.日志级别
      • 日志级别的设置
      • System.out.println VS 日志的两个致命缺点
    • 3.日志持久化
    • 4.更简单的日志输出—lombok
      • 旧项目添加依赖的工具(EditStarts)


一、什么是SpringBoot

Spring是为了简化Java程序,而Spring Boot诞生是为了简化Spring程序开发的。
Spring Boot 最核心内容:
1.快速添加依赖;
2.内置web容器;
3.自动装配。

二、Spring Boot优点

(1)快速集成框架,Spring Boot提供了启动添加依赖的功能,用于秒级集成各种框架。
(2)内置运行容器,无需配置Tomcat等Web容器,直接运行和部署程序。
(3)快速部署项目,无序外部容器即可启动并运行项目。
(4)可以完全抛弃繁琐的XML,使用注解和配置的方式进行开发。
(5)支持更多的监控指标,可以更好的了解项目的运行情况。

三、Spring Boot项目创建

创建Spring Boot之前:安装Spring Boot Helper插件。(针对idea社区版)
搜索:spring boot helper
在这里插入图片描述
安装后:
在这里插入图片描述
创建项目:
方式一:在idea中创建。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
方式二:网页创建https://start.spring.io/
在这里插入图片描述

四、Spring Boot 配置文件

1.系统使用的配置文件(系统配置文件),如端口号的设置、连接数据库的配置。
2.用户自定义配置文件。

配置文件格式:properties/yml(yaml)
在这里插入图片描述
特殊说明:
(1)当一个项目中存在两种格式的配置文件,并且两个配置文件中设置了相同的配置项,但值不同时,那么properties的优先级更高。
(2)通常情况一个项目中只会存在一种格式的配置文件。
在这里插入图片描述
properties配置时是中文,可能会出现乱码。

1. yml语法

(1)格式 key:value

(2)读取yml中的字符串:
在这里插入图片描述
(3)读取yml中的对象:
在这里插入图片描述
(4)配置list集合:
在这里插入图片描述

2.properties与yml关系

(1)properties是以key=valu的形式配置的键值类型的文件,而yml使用的是类似json格式的形式配置文件(key: value)其中:后的空格不可省略。
(2)properties是早期默认的配置文件格式,存在冗余数据。而yml可以很好的解决数据冗余。
(3)yml通用性更好,支持多语言,如Java、Go、Python。
(4)yml支持更多的数据类型。

3.多系统的配置

在这里插入图片描述
在这里插入图片描述

五、Spring Boot日志文件

1.日志对象

得到日志对象。开发者只负责调用对接self4j(门面模式)。
在这里插入图片描述

2.日志级别

(1)快速筛选重要的日志。
(2)不同环境实现不同日志级别的设置学情。
trace:微量、少许的意思,级别最低。
debug:需要调试时候的关键信息打印。
info:普通的打印信息(默认级别)。
warn:警告,不影响使用,但需要注意的问题。
error:错误信息,级别较高的错误日志信息。
fatal:致命的,因为代码异常程序退出执行的事件。
在这里插入图片描述
注:当程序中设置了日志级别之后,程序只会打印和设置级别相同和大于当前日志级别的日志。

日志级别的设置

可以针对不同的目录设置不同的日志级别。
在配置文件中设置:
在这里插入图片描述

System.out.println VS 日志的两个致命缺点

(1)打印信息不全(没有打印日志的事件、来源);
(2)不能实现日志打印的影藏和显示;
(3)System.out.println打印的日志不能被持久化。

3.日志持久化

日志持久化(保存到磁盘等):
(1)设置日志的保存目录;
在这里插入图片描述
(2)设置日志保存的文件名;

logging:file:name:

4.更简单的日志输出—lombok

(1)添加lombok框架;
(2)使用@Slf4j注解。
在这里插入图片描述

旧项目添加依赖的工具(EditStarts)

在这里插入图片描述

在这里插入图片描述


相关文章:

SpringBoot的基本概念和使用

文章目录一、什么是SpringBoot二、Spring Boot优点三、Spring Boot项目创建四、Spring Boot 配置文件1. yml语法2.properties与yml关系3.多系统的配置五、Spring Boot日志文件1.日志对象2.日志级别日志级别的设置System.out.println VS 日志的两个致命缺点3.日志持久化4.更简单…...

基于计算机软件技术的化工设计特点

2.1 便利性将计算机软件技术应用于化工设计环节,最大的优点就在于提升了化工企业生产的便利性。化工设计作为化工生产的基础,在化工设计环节需要到有关化学反应和工艺流程设计等的相关问题,通过利用计算机软件技术可以为上述工作提供很好的辅…...

Nativefier把网页打包成exe

前要: 今天遇到一个需求,之前的应用都是用的h5挂载在企业微信的小应用,但是现在需要电脑运行的exe安装包! 所以需要用到nativefier导报工具:nativefier是一个使用electron将网页转换为app的插件,写这篇博客…...

STM32U5开发(1)----通过 USART1 发送数据

概述 通过 USART1 发送一些数据。 最近在弄ST和GD的课程,需要样片的可以加群申请:6_15061293。 生成例程 使用STM32CUBEMX生成例程,这里使用NUCLEO-U575ZI开发板。 选择工程的时候,先不必选择加载了TrustZone。 样品申请 h…...

20230308 Apdl lsdyna两杆撞击案例学习笔记

本次模拟使用的是ANSYS 16.0 一、设置Element type 首先打开APDL界面 添加element type 在LS-DYNA Explicit选择条件下,选择3D solid 164 二、设置材料类型 选择material models 选择Elastic-Isotropic-输入 Density:密度 EX:杨氏模量 NUXY:泊松比 三、几何模型建…...

互相关延时估计 Matlab仿真

文章目录互相关延时估计什么是互相关延时估计?原理代码实现总结互相关延时估计 互相关延时估计是一种信号处理技术,用于计算两个信号之间的时间延迟。在本篇博客中,我们将使用MATLAB来实现互相关延时估计,并提供多个例子和代码&a…...

谷歌插件Fetch在不同页面之间Cookie携带情况详解

content script 和 script inject 表现情况 在碰到content script 注入和用script标签注入一样&#xff0c;即使服务端有写入Cookie到域名下在该tab标签应用下也不会被保存&#xff0c;所以在发送时也无法自动携带&#xff0c;所以通过content script和<script>这种方式…...

Vue学习笔记(8)

8.1 组件自定义事件 在 Vue 中&#xff0c;组件可以通过自定义事件来实现组件之间的通信。自定义事件可以让一个组件触发一个事件&#xff0c;并向其他组件传递数据。以下是自定义事件的实现步骤&#xff1a; 在组件中定义一个事件名&#xff1a;可以在组件中使用 $emit 方法来…...

知道一个服务器IP应该怎么进入

首先我是国内&#xff0c;访问国外的网站比如谷歌等&#xff0c;访问特别慢&#xff0c;有时候甚至登录不进去。现在知道了一个台湾或者国外的服务器应该怎么登录进去呢&#xff1f;知道服务器IP之后&#xff0c;你还需要知道服务器的远程端口帐号密码才能登录的。知道上面信息…...

【计算机基础】Socket IO

一、I/O 模型 一个输入操作通常包括两个阶段&#xff1a; 等待数据准备好从内核向进程复制数据 对于一个套接字上的输入操作&#xff0c;第一步通常涉及等待数据从网络中到达。当所等待数据到达时&#xff0c;它被复制到内核中的某个缓冲区。第二步就是把数据从内核缓冲区复…...

mingw编译opencv

我这里是msys2 这个是msys2的教程 https://blog.csdn.net/qq_39942341/article/details/105931335?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167821146216800197067008%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&requ…...

数据结构(八)排序

一、排序的概念以及引用概念排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;…...

函数习题:用函数实现判断一个整数是否能被n整除

Description 输入一组整数&#xff0c;输入0结束&#xff08;这组整数不包含0&#xff09;&#xff0c;输出其中能被n整除的所有整数之和&#xff08;n为整数&#xff0c;不用考虑n为0的情况&#xff09;&#xff0c; n及这组整数均由键盘输入。首先输入n&#xff0c;再输入一…...

SAP 创建会计冲销凭证

“功能描述&#xff1a;根据传输过来数据创建会计冲销凭证&#xff0c;并返回消息和状态 *”---------------------------------------------------------------------- "“本地接口&#xff1a; *” IMPORTING *" VALUE(IW_ZTFKCX0010) TYPE ZTFKCX0010 *" EXP…...

Jetson(Ubuntu18.04)设备无法ping通百度能ping通局域网错误集合,(神奇的是这样的情况下Todesk等远程确没有问题)

一、.打开DNS,意思是取消注释添加114.114.114.114 &#xff0c;文件如下 vim /etc/systemd/resolved.conf [Resolve] #DNS #FallbackDNS #Domains #LLMNRno #MulticastDNSno #DNSSECno #Cacheyes #DNSStubListeneryes然后重启服务sudo systemctl restart systemd-resolved.se…...

Spring的@Conditional注解

前言Conditional是Spring4新提供的注解&#xff0c;它的作用是按照一定的条件进行判断&#xff0c;满足条件给容器注册bean。Conditional的源码定义&#xff1a;//此注解可以标注在类和方法上 Target({ElementType.TYPE, ElementType.METHOD}) Retention(RetentionPolicy.RUNTI…...

剑指 Offer 67 把字符串转换成整数

摘要 面试题67. 把字符串转换成整数 一、字符串解析 根据题意&#xff0c;有以下四种字符需要考虑&#xff1a; 首部空格&#xff1a; 删除之即可&#xff1b;符号位&#xff1a;三种情况&#xff0c;即 , − , 无符号"&#xff1b;新建一个变量保存符号位&#xff0…...

【教学典型案例】18.开门小例子理解面向对象

目录一&#xff1a;背景介绍业务场景&#xff1a;业务分析&#xff1a;二&#xff1a;实现思路1、面向过程&#xff1a;2、面向对象&#xff08;抽象、封装、继承、多态&#xff09;3、面向对象&#xff08;抽象、封装、继承、多态、反射&#xff09;三&#xff1a;实现过程1、…...

Linux环境ENV的概念

一、基本概念 环境变量的含义&#xff1a;程序&#xff08;操作系统命令和应用程序&#xff09;的执行都需要运行环境&#xff0c;这个环境是由多个环境变量组成的。 按变量的周期划为永久变量和临时性变量2种&#xff1a; 永久变量&#xff1a;通过修改配置文件&#xff0c…...

AcWing数据结构 - 数据结构在算法比赛中的应用(下)

目录 Trie树 Trie字符串统计 最大异或对 并查集 合并集合 连通块中点的数量 食物链 堆 堆排序 模拟堆 哈希表 模拟散列表 字符串哈希 Trie树 Trie字符串统计 思路&#xff1a; 设 idx索引用于构建树&#xff0c; 结点son[节点位置][节点分支指针]&#xff0c;cnt[]记录单…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...