SpringBoot基本知识汇总

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";
学习尚硅谷视频整理的文档 Spring Boot 1 1 Spring Boot入门 4 1.1 简介 4 1.2 微服务(martin fowler发表了一篇文章) 5 1.3 环境约束 7 1.4 第一个Spring Boot项目(jar):HelloWorld 8 1.5 入门案例详解 11 1.5.1 POM文件 11 1.5.2 主程序类,主入口类 12 1.6 使用Spring Initializer向导快速创建Spring Boot 16 2 Spring Boot配置 18 2.1 配置文件 18 2.2 YML语法 19 2.3 YML配置文件值获取 21 2.4 properties配置文件乱码问题 24 2.5 @ConfigurationProperties与@Value的区别 25 2.6 配置@PropertySource、@ImportResource、@Bean 27 2.7 配置文件占位符 30 2.8 Profile多环境支持 31 2.9 配置文件的加载位置 33 2.10 外部配置加载顺序 36 2.11 自动配置原理 37 2.12 @Conditional派生注解 41 3 Spring Boot与日志 42 3.1 日志框架分类和选择 42 3.2 SLF4j使用 43 3.3 其他日志框架统一转换成slf4j+logback 44 3.4 Spring Boot日志使用 45 3.5 Spring Boot默认配置 47 3.6 指定日志文件和日志Profile功能 52 3.7 切换日志框架(不使用SLF4j+LogBack) 54 4 Spring Boot与Web开发 55 4.1 Web开发简介 55 4.2 静态资源映射规则 56 4.3 引入Thymeleaf 60 4.4 Thymeleaf语法 61 4.5 SpringMVC自动配置原理 67 4.6 SpringBoot扩展与全面接管 70 4.7 如何修改SpringBoot的默认配置 72 4.8 【实验】CRUD操作 73 4.8.1 默认访问首页 73 4.8.2 登录页面国际化 74 4.8.3 登录 80 4.8.4 拦截器进行登录检查 81 4.8.5 实验要求(没按要求做,不想改了!) 82 4.8.6 CRUD-员工列表 83 4.8.7 CRUD-员工修改 86 4.8.8 CRUD-员工添加 87 4.8.9 CRUD-员工删除 88 4.9 错误处理原理&错误页面定制 90 4.10 配置嵌入式Servlet容器(springboot 1.50版本) 97 4.10.1 如何定制和修改Servelt容器的相关配置 97 4.10.2 注册servlet三大组件【servlet,filter,listener】 98 4.10.3 替换为其他嵌入式容器 102 4.10.4 嵌入式servlet容器自动配置原理 103 4.10.5 嵌入式servlet容器启动原理 103 4.11 使用外置的Servlet容器 104 4.11.1 步骤 104 4.11.2 原理 107 5 Spring Boot与Docker(虚拟化容器技术) 110 5.1 简介 110 5.2 核心概念 111 5.3 安装Docker 112 5.4 Docker常用命令&操作 113 5.5 安装MySQL示例 114 6 Spring Boot与数据访问 115 6.1 JDBC 115 6.1.1 实现 115 6.1.2 自动配置原理 116 6.2 整合Durid数据源 117 6.3 整合Mybatis 122 6.3.1 注解版 123 6.3.2 配置文件版 124 6.4 整合SpringData JPA 125 6.4.1 SpringData简介 125 6.4.2 整合 126 7 Spring Boot启动配置原理 128 7.1 启动流程(Springboot 1.50版本) 128 7.1.1 创建SpringApplication对象 129 7.1.2 运行run方法 130 7.1.3 编写事件监听机制 132 8 Spring Boot自定义starters 136 8.1 概述 136 8.2 步骤 137 9 更多Springboot整合示例 144 10 Spring Boot与缓存 145 10.1 JSR107缓存规范 145 10.2 Spring的缓存抽象 146 10.2.1 基本概念 146 10.2.2 整合项目 146 10.2.3 CacheEnable注解 148 10.2.4 Cache注解 150 10.3 整合redis 154 10.3.1 在Docker上安装redis 154 10.3.2 Redis的Template 154 10.3.3 整合(百度) 155
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xlecho

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值