SpringBoot基本知识汇总

2023-10-29

xl_echo编辑整理,交流学习请加1280023003 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!!


为什么要用springboot?

  • 传统项目配置文件过于臃肿
  • 传统项目依赖版本之间兼容问题
  • 传统项目整合步骤相对繁琐

什么是springboot

springboot就是一个快速开发框架,能够帮组我们快速整合第三方框架。内部嵌入Http服务器(Tomcat、Jetty),默认嵌入的是Tomcat服务器。最终以java应用程序进行执行。其开发过程中采用注解化,简化XML配置。(springboot中没有web.xml,内嵌服务器java创建tomcat)

SpringCloud的区别

springboot是一个快速开发框架,能够快速帮我们整合常用的第三方框架,完全采用注解化,最终以java应用程序进行执行。
springcloud是目前唯一一套完整的微服务框架。包含:注册中心eureka、客户端调用工具fegin、服务治理、分布式配置中心config、网关zuul…

springboot是微服务框架吗?

SpringBoot不能直接介定为微服务,如果使用springboot+SpringCloud才是微服务。SpringBoot只是一个快速快发的框架。

springboot和springmvc的关系

SpringBoot Web组件集成了SpringMVC框架

springboot中实现异步调用

在springboot中实现异步调用只需要在方法上面加上@Async,在启动加上@EnableAsync

现在启动类上加上@EnableAsync,这个时候代表开启异步调用,只要与启动类在统计包上,都能够加载到
然后在方法上面加上@Async即可开启现成执行

开启异步执行之后,被加注解的方法会单独开启线程执行

springboot 配置文件配置自定义参数

在application中定义一个变量,直接可以在方法里面取。
只需要在定义参数的时候定义一个变量,在变量上加上@Value即可,该变量就会自动对应接收配置文件中的值。

注意,该变量是在启动的时候就被加载了

多环境配置

主要作用就是为了区分不同环境的配置文件信息,如公司使用的几种环境

  • 本地开发环境
  • 测试环境
  • 生产环境

使用多个配置文件,文件名称一定要按照规定格式,比如开发环境,一定是application-dev.properties。对照以上几个环境,一般都定义为以下名称
application-dev.properties
application-test.properties
application-prod.properties

如果想要使用哪个环境则直接在主配置文件中加入一下配置即可
spring.profiles.active=dev

springboot整合mybatis

第一步:添加依赖

在pom文件中添加mybatis的依赖,和mysql的依赖

<!-- mysql 依赖 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

<!-- mybatis -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>

第二步:在启动类上面添加扫描包注解

然后在启动类上面加上@MapperScan(basePackages = {“com.echo.mapper”}) 即可直接扫描到所需要的mapper层。也可以在mapper类上面直接添加@mapper,但是如果使用@mapper该注解,只能扫到当前类,如果有多个类的话,每一个都必须添加该注解,所以使用@MapperScan更为简洁

第三步:创建mapper的接口类,这里使用注解

public interface FoodMapper {
    @Select("SELECT * FROM food_name WHERE food = #{food}")
    Food findByName(@Param("food") String food);

    @Insert("INSERT INTO food_name(food) VALUES(#{food})")
    int insert(@Param("food") String food);
}

mybatis注解开发开启驼峰转换

springboot使用注解方式整合mybaits不建议使用mybatis-config.xml。所以会出现没有办法自动匹配类和数据库的字段,这个时候开启驼峰转换不需要重新建配置文件,只需要在application.properties中添加以下类容即可

#mybatis开启驼峰转换
mybatis.configuration.map-underscore-to-camel-case=true

springboot整合@Transactional

spring事务的分类

  • 声明事务
  • 编程事务

spring事务使用注意事项
不能try,因为要将异常跑出给外层

哪里需要使用,直接在哪个方法上面添加一个@Transactional注解即可。

springboot多数据源

一个项目使用多个数据库(由于业务需求,数据量过大或者对于数据分类要求够高,这个时候我们可以一个项目使用多个数据库)

多数据源怎么划分?

  • 根据项目分包名称(根据包名,比如package1,package2; 每个包都成为一个jar包,一个jar使用一个数据源)
  • 根据注解方式(在需要其他数据源的方法上加上自定义的数据源注解,比较复杂。)

多数据源使用思路:

1、准备好两个数据库datasource1、datasource2

2、在配置文件中定义两个数据源的基本参数

3、手写一个连接数据库的方法,取出需要的数据源参数,连接数据库。

mybatis整合分页插件-pageHelper

在pom.xml中添加pagehelper

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>

在application.yml中配置分页参数

# 配置分页
pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql
  page-size-zero: true

使用示例:

PageHelper.startPage(page, pageSize);
List<Shop> list = shopDao.getList();
PageInfo<Shop> pageInfoList = new PageInfo<>(list);
System.out.println(pageInfoList.getSize() + pageInfoList.getPages());
return "success";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringBoot基本知识汇总 的相关文章

随机推荐

  • python seaborn 散点图矩阵_Python绘图总结(seaborn库的使用)(下)

    上部分介绍了pie以及kdeplot distplot jointplot pairplot的用法分别绘制出数据的饼图 核密度分布图 柱状图 散点图 以及用jointplot绘制组合图 下面开始总结 散点图 二维 三维 折线图 并列 叠加
  • 彻底理解webservice SOAP WSDL

    WebServices简介 先给出一个概念 SOA 即Service Oriented Architecture 中文一般理解为面向服务的架构 既然说是一种架构的话 所以一般认为 SOA 是包含了运行环境 编程模型 架构风格和相关方法论等在
  • 夜神模拟器:新建android模拟器并安装apk文件

    1 安装夜神模拟器 下载地址 https www yeshen com a 直接双击nox xxx exe一步步安装模拟器 b adb devices查看结果 如果出现如下错误 解决方法 夜神模拟器的adb版本和androidsdk的adb
  • 数论初探--中国剩余定理(一)

    数论 很简单 小学奥数而已 中国剩余定理 小学五年级奥数内容 在一千多年前的 孙子算经 中 有这样一道算术题 今有物不知其数 三三数之剩二 五五数之剩三 七七数之剩二 问物几何 按照今天的话来说 一个数除以3余2 除以5余3 除以7余2 求
  • Anaconda------环境管理

    Anaconda 中的Conda核心功能就是包管理和环境管理 可以根据需要安装不同版本的python 而且能自由切换 先着重介绍一个概念 虚拟环境 virtual environment 它是一个虚拟化 从电脑独立开辟出来的环境 以Dock
  • 前端解决防盗链

    防盗链浅谈 由于利用百度新闻请求接口 导致部分图片请求失败 状态码403 服务被拒绝 之前一直用python写爬虫 所以很自然的就想到了伪装请求头 于是乎想到解决该问题的第一种方法就是创建vue config js 在里面配置代理 现在是学
  • matlab怎么产生一个随机数,matlab怎么产生随机数

    matlab是我们常用一种软件 对于做随机过程或者概率的朋友 常常会用到一些随机数 但是这些数据怎么生成呢 下面介绍下matlab中一些常见的随机数 matlab产生随机数可以使用的方法 1 均匀分布 unifrnd a b m n 产生m
  • Oracle vm virtualbox安装

    Oracle vm virtualbox安装 VirtualBox 簡介 下載安裝包 VirtualBox 簡介 VirtualBox 是一款开源虚拟机软件 VirtualBox 是由德国 Innotek 公司开发 由Sun Microsy
  • 继电器控制电路

    继电器控制电路 原理 控制方式 继电器种类 案例 原理 使用控制电器的触点 按钮 开关或继电器触点 控制用电器工作 控制方式 手动控制 触点通 断用人工控制 比如按钮 手动开关 自动控制 触点通断可以自动实现 如行程开关 继电器 继电器种类
  • UE4之HTTP请求

    UE4中的HTTP模块封装了libcurl的HTTP功能 很容易实现HTTP下载和上传功能 代码如下 class FHttpRequestTest void Download const FString URL TSharedRef Htt
  • JS /JQ文件、图片上传+图片预览(二进制、base64)

    一 base64
  • unity刘海屏适配

    public class SafeArea MonoBehaviour private Rect safeArea public Action
  • 安装chromadb遇到的问题与python3升级

    环境 python 3 10 centos 7 x 使用 pip3 install chromadb 时 遇到以下问题 问题1 gcc note This error originates from a subprocess and is
  • 系统建模与仿真项目驱动设计报告-基于MATLAB的GUI界面设计

    摘 要 MATLAB语言是一种十分有效得工具 能够容易解决在系统仿真以及控制系统计算机辅助设计领域的解决问题 在本次的系统建模与仿真设计中 需要使用人机交互界面 MATLAB GUI功能设计一个系统仿真GUI界面 由于GUI本身提供了Win
  • 伽罗华域(Galois Field)理解、基于伽罗华域的四则运算(附详细python代码)

    参考链接 https blog csdn net luotuo44 article details 41645597 参考链接 https blog csdn net shelldon article details 54729687 伽罗
  • 能在路由器里挂载阿里云盘的aliyundrive-webdav

    什么是 aliyundrive webdav aliyundrive webdav 是阿里云盘 WebDAV 服务 主要使用场景为配合支持 WebDAV 协议的客户端 App 如 Infuse nPlayer 等实现在电视上直接观看云盘视频
  • 6. 模块

    http www pythondoc com pythontutorial3 modules html 6 模块 如果你退出 Python 解释器并重新进入 你做的任何定义 变量和方法 都会丢失 因此 如果你想要编写一些更大的程序 为准备解
  • SpringBoot整合SpringSecurity遇到的SESSION验证问题

    前言 项目是之前的老项目springmvc jsp项目改的 因为需要对框架做改动 功能没有大改动 所以没有采用前后端分离的方式 后端采用springboot spring security前端还是jsp 所以还是session验证的方式登录
  • 删除打开eclipse时workspace列表中你不希望保存的workspace项

    删除打开eclipse时workspace列表中你不希望保存的workspace 正文 嗯 强迫症使世界更美好 正文 说自己用 idea 开发的请去旁边做一下 这我们先说eclipse的 有些时候 我们需要使用 Eclipse 来开发不同的
  • SpringBoot基本知识汇总

    xl echo编辑整理 交流学习请加1280023003 百战不败 依不自称常胜 百败不颓 依能奋力前行 这才是真正的堪称强大 为什么要用springboot 传统项目配置文件过于臃肿 传统项目依赖版本之间兼容问题 传统项目整合步骤相对繁琐