SpringBoot 知识点总结

基础入门

基本介绍、基本特性、核心模块、版本选择、环境要求、安装集成、技快速开发接口、Maven Wrapper、Spring Boot CLl

配置管理

配置类、配置文件、配置绑定、外部化配置、导入配置、随机值配置、多文档配置、Profiles 配置、配置加载机制、配置加密、配置迁移

自动配置

基本介绍,命名规范,自动配置加载,自动配置原理,自动配置报告,自动配置排除,自动配置替换

Starters

基本介绍,命名规范,Starters 分类,发邮件 Starter 实战,自定义 Starter 实战

启动过程及应用

启动入口、关闭启动日志、启动失败分析器、全局懒加载、启动图案、启动事件及监听器、启动运行器、应用启动流程

日志管理

日志框架、日志格式、控制台日志、日志文件、日志级别、日志管理、日志归档、日志配置文件、日志框架切换、彩色日志、日志关闭钩子

Web核心应用

Web 支持、嵌入式容器、自定义 Web 配置、组件注册(拦截器/消息转换器/类型转换器注册/Servlet/Filter/Listener)、静态资源处理、模板引擎理、异常处理、参数校验、国际化、分布式会话、跨域处理、安全机制、REST 服务调用

数据库

数据库支持、嵌入式数据库、数据源、连接池、数据库初始化、事务管理、JdbcTemplate、Java技术、JPA、MyBatis、MyBatis-Plus

NoSQL

  • NoSQL 支持
  • Spring Boot & Redis
  • Spring Boot & MongoDB
  • Spring Boot & Elasticsearch

计划任务

  • Spring计划任务(计划任务集成、Cron表达式、线程池工作流程、自定义线程池)
  • QuartZ(QuartZ集成、自定义配置、任务持久化、任务动态维护)

缓存

缓存支持、缓存集成、默认缓存、Redis缓存

消息队列

消息队列支持、ActiveMQ、RabbitMQ、Kafka

跟踪调试

  • 调试方法(main方法调试、Maven插件调试)

  • 开发者工具(应用集成、默认配置、自动重启应用、自动刷新页面、全局配置)

单元测试

单元测试支持、真实 Web 环境测试、Mock 测试、技术框架测试

打包与部署

  • 应用打包(jar/war)
  • 运行方式(命令运行/直接运行/以系统服务运行/拆包运行)
  • 部署 Docker 容器
  • 生成 GraalVM 原生镜像

监管与报警

  • Spring Boot Actuator(端点/指标暴露/链路跟踪)
  • Spring Boot Admin(环境搭建/监控页面/监控报警)
  • Prometheus(指标暴露/环境搭建)
  • Grafana(环境搭建/Prometheus集成/监控JVM数据面板/自定义数据面板/监控报警)

SpringCloud特征

分布式配置、服务注册发现、路由、服务调用、负载均衡、断路器、全局锁、选举、集群、消息传递。

SpringBoot 常用注解

@SpringBootAapplication

通常加到启动类上。被标注的类,可以定义一个或多个Bean,并自动触发自动配置Bean和自动扫描组件。可看作是@Configuration、@EnableAutoConfiguration、@Componentscan注解的集合。

Spring Bean相关

@Autowired:按类类型,自动导入依赖的bean对象

@Resource:按类名称,自动导入依赖的bean对象

@Component:可标注任意类为Spring组件

@Repository:用于标注Dao层的数据持久化类

@Service:通常标注在业务逻辑类上,标注后会将类对象实例化并注入到bean容器里。

@Configuration:声明配置类

@Bean:声明一个bean对象,并交给Spring管理

前后端传值

@RequestParam:用于获取http请求中的查询参数

@RequestBody:表明请求头的数据格式必须为Json的,接收到数据后会自动将数据映射到lava对象中

HTTP请求相关

@RestController:标记在类上。接受用户请求并调用Service层返回数据给前端页面,是@Controller和@ResponseBody的合集,返回值会填到Http响应数据里。

@RequestMapping:负责URL到Controller中具体函数的映射,常标识在类或方法上。当标识到方法时,可以指定请求协议(GET、POST、PUT、DELETE)

@GetMapping:用在方法上,标注接口的请求路径,只支持get请求方法。等价于@RequestMapping("/url", RequestMethod.GET)

@PostMapping:用在方法上,标注接口的请求路径,只支持post请求方法。等价于aRequestMapping("/url", RequestMethod.POST)

@PutMapping:用在方法上,标注接口的请求路径,只支持put请求方法。等价于@RequestMapping("/url", RequestMethod.PUT)

@DeleteMapping:用在方法上,标注接口的请求路径只支持 delete请求方法。等价于@ReguestMapping("/url", RequestMethod.DELETE)

配置相关

@Value:在任意Spring管理的Bean中,通过这个注解可获取任何配置文件的属性值。

参数校验

后端经常要对请求入参进行校验,JSR框架定义了很多常用的校验注解,直接将这些注解加在lavaBean的属性上面即可校验。常用的注解有:

@NotEmpty:被注释的字符串的不能为null也不能为空

@NotBlank:被注释的字符串非nul并日必须包含个非空白字符

@NotNull:被注释的元素必须不为null

@Pattern(regex=x):被注释的元素必须符合指定的正则表达式

@Email:被注释的元素必须是Email格式。

@Min(value):被注释的元素必须是一个数字,其值必须大于等于指定的最小值

@Max(value):被注释的元素必须是一个数字,其值必须小于等于指定的最大值

@Size(max=x,min=y):被注释的元素的大小必须在指定的范围内

@Valid:如果要校验请求的方法参数,就加上这注解

事务

@Transactional:标识在类或方法上,遇到异常回滚

SpringBoot的知识点总结和常用注解的更多相关文章

  1. SpringBoot | 第六章:常用注解介绍及简单使用

    前言 之前几个章节,大部分都是算介绍springboot的一些外围配置,比如日志配置等.这章节开始,开始总结一些关于springboot的综合开发的知识点.由于SpringBoot本身是基于Sprin ...

  2. Swagger2常用注解解析(轻松构建Swagger)

    Swagger2常用注解解析 一.SpringBoot集成Swagger2 二.常用注解解析 具体使用举例说明: 一.SpringBoot集成Swagger2 引入相关jar包 <!-- swa ...

  3. SpringBoot 中常用注解

    本篇博文将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注 ...

  4. SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍

    SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍 本篇博文将介绍几种如何处理url中的参数的注解@PathVaribale/@Requ ...

  5. SpringBoot之常用注解

    在spring boot中,摒弃了spring以往项目中大量繁琐的配置,遵循约定大于配置的原则,通过自身默认配置,极大的降低了项目搭建的复杂度.同样在spring boot中,大量注解的使用,使得代码 ...

  6. SpringBoot系统列 4 - 常用注解、拦截器、异常处理

    在前面代码基础上进行改造: 1.SpringBoot常用注解 @SpringBootApplication :指定SpringBoot项目启动的入口,是一个复合注解,由@Configuration.@ ...

  7. SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别

    @Controller 处理http请求 @Controller //@ResponseBody public class HelloController { @RequestMapping(valu ...

  8. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping的区别

    SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别 @Controller 处理http请求 @Controller //@Re ...

  9. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍

    原文 SpringBoot 中常用注解 @Controller/@RestController/@RequestMapping介绍 @Controller 处理http请求 @Controller / ...

  10. SpringBoot 常用注解(持续更新)

    SpringBoot 常用注解 @SpringBootApplication @Bean @ComponentScan @ControllerAdvice @ExceptionHandler @Res ...

随机推荐

  1. 海康iSC综合安防平台-视频web插件调试

    综合安防管理平台 视频WEB插件 1.demo_window_simple_playback.html.demo_window_simple_preview.html为简化版demo,可在此基础上开发 ...

  2. vue2前端导出带背景色表格 xlsx xlsx-style

    vue2 +elmentui+xlsx10.0.0+xlsx-style 坑有点多. xlsx10.0.0以后的版本 用require导入或者使用什么导入什么,不要import * xlsx全部导入 ...

  3. Winform 动态画曲线 波峰波谷识别

    项目需要识别数组的波峰波谷,我就想 可视化的测试自己的判断波峰波谷的算法,于是就有了下面这张图. 我就用gdi+再panel上描点,点画完后,就点击分析按钮蓝色的为波峰 绿色的为波谷.虽然说能识别出来 ...

  4. Swoole 源码分析之 WebSocket 模块

    首发原文链接:Swoole 源码分析之 WebSocket 模块 大家好,我是码农先森. Swoole 源码分析之 WebSocket 模块 引言 WebSocket 是一种在单个 TCP 连接上进行 ...

  5. redis cluaster (redis分布式集群 redis分片集群)

    redis cluaster (redis分布式集群) 高可用: 在搭建集群时,会为每一个分片的主节点,对应一个从节点,实现slaveof的功能,同时当主节点down,实现类似于sentinel的自动 ...

  6. 一个前后端都有的后台管理系统,使用nest.js和vue3

    今天介绍一个新的Vue后台管理框架,相比其他后台功能丰富管理系统,这个后台管理系统可以用干净简洁来形容--Nova-admin Nova-admin Nova-admin 是一个基于Vue3.Vite ...

  7. 8.21考试总结(NOIP模拟45)[打表·蛇·购物·ants]

    有型的东西终究会消逝,不过--终于,这份回忆还是永远不朽的- 前言 这次考试暴露出来了不少问题. 比如答题策略策略不当导致 T2 的 65pts 暴力根本没有打. 知识遗忘太快不牢固,T4 是之前的一 ...

  8. kettle从入门到精通 第六十六课 ETL之kettle kettle阻塞教程,轻松获取最后一行数据,so easy

    场景:ETL沟通交流群内有小伙伴反馈,如何在同步一批数据完成之后记录下同步结果呢?或者是调用后续步骤.存储过程.三方接口等. 解决:使用步骤Blocking step进行阻塞处理即可. 1.下面的de ...

  9. 一文搞懂 ARM 64 系列: 寄存器

    ARM 64中包含多种寄存器,下面介绍一些常见的寄存器. 1 通用寄存器 ARM 64包含31个64bit寄存器,记为X0~X30. 每一个通用寄存器,它的低32bit都可以被访问,记为W0~W30. ...

  10. linux系统下,jdk的安装和配置教程,以jdk-8u311为例

    1.官方下载 下载地址:https://www.oracle.com/ 本文以jdk8为例, 1)下载地址:https://www.oracle.com/java/technologies/downl ...