SpringBoot基础篇

news2024/11/28 6:39:23

1:parent

目的:减少依赖配置

  • 开发SpringBoot程序要继承spring-boot-starter-parent
  • spring-boot-starter-parent中定义了若干个依赖管理
  • 继承parent模块可以避免多个依赖使用相同技术出现依赖版本冲突
  • 继承parent的形式也可以采用引入依赖的i形式实现效果

2:starter

目的:减少依赖冲突

  • 开发SpringBoot程序需要导入坐标时通常导入对应的starter
  • 每个不同的starter根据功能不同,通常包含多个依赖坐标
  • 使用starter可以实现快速配置的效果,达到简化配置的目的

注意:在实际开发中,使用任意坐标,仅书写G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V,如果发生坐标错误,在手动指定version(这里要小心版本冲突)

3:引导类

  • 启动方式 
  • SpringBoot的引导类是Boot工程的执行入口,运行main方法就可以启动项目(未启动web服务器)
  • SpringBoot工程运行后初始化Spring容器,扫描引导类所在包加载bean

4:内嵌Tomcat(辅助功能 )

  • 内嵌Tomcat服务器是SpringBoot辅助功能之一
  • 内嵌Tomcat工作原理就是将Tomcat服务器当作对象运行,并将该对象交给Spring容器管理
  • 变更服务器思想去除现有服务器,添加全新的服务器

5:复制模板

  1. 在工作空间中复制对应工程,并修改工程名称
  2. 删除与idea的相关配置文件,仅保留src目录和pom.xml文件
  3. 修改pom.xml文件中的artifactId与新工程/模块名相同
  4. 删除name标签(可选)
  5. 保留备份工程供后期使用

6:yaml数据格式

6.1:yaml语法规则

  • 大小写敏感
  • 属性层级关系使用多行描述,每行结尾使用冒号结束
  • 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格,不能使用Tab键
  • 属性值前面添加空格(属性名和属性值之间使用冒号加空格作为分隔)
  • #表示注释

6.2:注意属性名冒号后面与数据之间有一个空格

6.3:yaml数据读取

  • 使用@Value读取单个数据,属性名引用方式引用属性:${一级属性名.二级属性名...}   
  • 属性值如果出现转义字符,需要使用双引号包裹         
  •   开发中最常用的读取方式:
  • 1:定义数据模型封装yaml文件中对应的数据
  • 2:定义为spring管控的bean,否则无法进行属性注入
  • 3:指定加载的数据 @ConfigurationProperties

7:SpringBoot整合第三方技术

7.1:SpringBoot整合Junit

  • 导入测试对应的starter
  • 测试类使用@SpringBootTest修饰
  • 使用自动装配的形式添加要测试的对象

注意:(1)测试类如果存在引导类所在包或其子包中,无需指定引导类

          (2)测试类如果不存在引导类所在包或其子包中,需要通过classes属性指定引导类

7.2:SpringBoot整合Mybatis

(1):创建新模块,选择Spring初始化,并配置模块相关基础信息

(2):选择当前模块需要使用的技术集(Mybatis,Mysql)

(3):设置数据源参数

(4):定义数据层接口与映射配置

(5):测试类中注入dao接口,测试功能

7.3:SpringBoot整合Druid

1:整合Druid需要导入Druid对应的start

2:根据Druid提供的配置方式进行配置

3:整合第三方技术通用方式

  • 导入对应的starter
  • 根据提供的配置格式,配置非默认值对应的默认项

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

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

相关文章

通过安全的云开发环境重新发现 DevOps 的心跳

云开发平台如何“提升” DevOps 首先,我来简单介绍一下什么是云开发环境:它通常运行带有应用程序的 Linux 操作系统,提供预配置的环境,允许进行编码、编译和其他类似于本地环境的操作。从实现的角度来看,这样的环境类…

零基础HTML教程(35)--网站的本地部署

文章目录 1. 背景2. 网站的本地部署3. 本地部署的步骤4. 服务器软件介绍5. 本地部署实操5.1 开发一个网站5.2 下载服务器软件5.3 将网站复制到服务器软件下5.4 启动服务器软件5.5 通过Http协议访问网站 6. 小结 1. 背景 我们之前开发的网页,都是编写完成后&#xf…

Angular(1):使用Angular CLI创建空项目

要创建一个空的 Angular 项目,可以使用 Angular CLI(命令行界面)。以下是使用 Angular CLI 创建一个新项目的步骤: 1、安装 Angular CLI: 打开你的命令行界面(在 Windows 上是 CMD、PowerShell 或 Git Bas…

扔掉 MacBook,挑战带OrangePi出差!

背景 由于工作需要,博主经常会到各大企业的自建机房中私有化部署公司的软件产品。 在某些企业自建机房中,有时给到全新的机器,没有基础环境,甚至有的还无法互联网,而且因为近几年CentOS的停止更新,服务器…

SCP收容物191~200

注 :此文接SCP收容物181~190,本文只供开玩笑 ,与steve_gqq_MC合作 --------------------------------------------------------------------------------------------------------------------------------- 目录 scp-191 scp-192 scp-193 scp-194 scp-195 …

SQL 语言:数据控制

文章目录 概述授权(GRANT)销权(REVOKE)总结 概述 SQL语言中的数据控制权限分配是数据库管理的重要组成部分,它涉及到如何合理地为用户分配对数据库资源的访问和使用权限。 权限类型:在SQL中,权限主要分为…

OS复习笔记ch7-1

存储的基本管理需求 重定位 重定位(Relocation):需要解决可执行文件中地址(指令和数据)和内存地址的对应。 一般有两种比较常见的重定位方式: 静态重定位(static relocation):当程序被装入内存时,一次性…

《我的阿勒泰》最经典的6句话

这是首部散文影视化改编的作品,剧集里的每一帧画面,都堪比电影大作。 阿勒泰壮丽广阔的风光,如同一幅幅动人的画卷展现在我们面前,让人沉醉其中。李文秀平淡朴实的生活,却溢出了蓬勃的生命力,直击心灵。只…

Yourpassword does not satisfy the current policyrequirements

mysql 新增数据库用户失败 解决方法: 修改校验密码策略等级 set global validate_password.policyLOW;

【算法】位运算算法——只出现一次的数字Ⅱ

题解:只出现一次的数字Ⅱ(位运算算法) 目录 1.题目2.题解:3.代码示例4.总结 1.题目 题目链接:LINK 要求:时间复杂度:O(N),空间复杂度:O(1) 2.题解: 3.代码示例 class Solution {…

搜维尔科技:拒绝毒品行为能力评估与训练系统应用案例

用户名称:山西医科大学 主要产品:虚拟现实复吸风险评估与干预系统 虚拟现实复吸风险评估与干预系统主要是为了解决物质使用障碍患者在临床治疗及康复回归正常生活出现的高复发现象⸺对毒品失控的渴求难以预测控制的问题。 整套系统由软件和硬件两部分…

Llama模型家族之使用 Supervised Fine-Tuning(SFT)微调预训练Llama 3 语言模型(十) 使用 LoRA 微调常见问题答疑

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (一) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (二) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 基于 LlaMA…

C++的第一道门坎:类与对象(二)

一.类中生成的默认成员函数详解 0.类的6个默认成员函数 编译器会给类生成六个默认成员函数,在类中即使我们什么都不做,也会自动生成。 默认成员函数:用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。 下面我们逐…

蓝桥杯物联网竞赛_STM32L071_18_长短按键检测

长短按键的检测是国赛题里面遇到的,省赛没出过有两种实方法 定时器配置: 定时器的话要比delay准确,其中tim7定时器的准度最高 定时器预分配配置32 - 1,计数周期是10000 - 1这样做那么32MHZ/32也就是一秒钟记录10^6的数&#xf…

数组的定义、顺序存储及特殊矩阵的存储

目录 一、数组的定义 1.1概念 1.2抽象数据类型定义 二、数组的顺序存储 2.1一维数组元素的存储位置 2.2二维数组元素的存储位置 2.3三维数组元素的存储位置 三、特殊矩阵的压缩存储 3.1相关概念 3.2对称矩阵 3.3三角矩阵 3.4对角矩阵(带状矩阵&#xff0…

Java 数据类型:学习和区分Java的基本数据类型(如int、float、boolean等)和引用数据类型(如数组、类等)

Java数据类型 Java是一种强类型语言,所有变量在使用前都必须声明其类型。Java的数据类型分为基本数据类型(Primitive Data Types)和引用数据类型(Reference Data Types)。了解并区分这两类数据类型是学习Java编程的重…

PC网游、页游、手游、端游各类游戏收集整理大集合-90%以上游戏带视频架设教程

本游戏资源提供给大家学习及参考研究借鉴美工之用,请勿用于商业和非法用途,无任何技术支持! 干货列表

如何将RK R75键盘的右Alt键改为Ctrl键

打开注册表地址栏中输出 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout右键新建二进制值,名称设为ScanCode Map按下图输入数值

什么是知识中台?为什么企业需要知识中台?

如今市面上的企业数不胜数,企业的任何一个小细节都会产生很大的影响。近几年来一直很热门的知识中台备受企业关注。关于如何高效地管理、整合和运用知识,成为了每一家企业都在重点关注的问题。而知识中台,就是为了解决这一问题而诞生的一个全…

软件功能测试的类型和流程分享

在现代社会,软件已经成为人们生活中不可或缺的一部分,而在软件的开发过程中,功能测试是不可或缺的环节。软件功能测试指的是对软件系统的功能进行检查和验证,以确保软件在各种情况下能够正常运行,并且能够按照用户需求…