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

SpringBoot基础篇

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.lryc.cn/news/362573.html

相关文章:

  • 【java11】java11新特性介绍
  • 搜维尔科技:介绍下Manus的OptiTrack 手套,体验精致的每指触觉!
  • Element ui 快速入门(基础知识点)
  • [数据集][目标检测]脑肿瘤检测数据集VOC+YOLO格式9787张3类别
  • 兆易创新:周期已至 触底反弹?
  • 【分享】两种方法禁止修改Word文档
  • 藏品名称:龙凤呈祥摆件
  • Ubuntu server 24 (Linux) sudo 免输密码
  • Qt——控件
  • 6个迹象表明你的电脑电缆管理很糟糕,看下你有没有中招
  • 代码随想录算法训练营第二十八天|LeetCode93 复原IP地址、LeetCode78 子集
  • MongoDB CRUD操作:地理位置应用——通过地理空间查询查找餐厅
  • 从C++示例理解开闭原则
  • Java线程池execute和submit的区别
  • 什么是json
  • 基于聚类和回归分析方法探究蓝莓产量影响因素与预测模型研究附录
  • java类型转换
  • Unity打包Webgl端进行 全屏幕自适应
  • 36. 【Java教程】输入输出流
  • Visual C++2010学习版详细安装教程(超详细图文)
  • matlab图像处理入门
  • 关于线程池面试题,使用“豆包”训练答案
  • 【WRF理论第二期】模型目录介绍
  • 从了解到掌握 Spark 计算框架(一)Spark 简介与基础概念
  • linux bind函数
  • Flink系列一:flink光速入门 (^_^)
  • PySpark特征工程(III)--特征选择
  • Mongodb的数据库简介、docker部署、操作语句以及java应用
  • 七大战略性新兴产业崭露头角:新能源电燃灶或将成为未来厨房新宠
  • C#进阶-用于Excel处理的程序集