SpringBoot的知识点总结和常用注解
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的知识点总结和常用注解的更多相关文章
- SpringBoot | 第六章:常用注解介绍及简单使用
前言 之前几个章节,大部分都是算介绍springboot的一些外围配置,比如日志配置等.这章节开始,开始总结一些关于springboot的综合开发的知识点.由于SpringBoot本身是基于Sprin ...
- Swagger2常用注解解析(轻松构建Swagger)
Swagger2常用注解解析 一.SpringBoot集成Swagger2 二.常用注解解析 具体使用举例说明: 一.SpringBoot集成Swagger2 引入相关jar包 <!-- swa ...
- SpringBoot 中常用注解
本篇博文将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注 ...
- SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍
SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍 本篇博文将介绍几种如何处理url中的参数的注解@PathVaribale/@Requ ...
- SpringBoot之常用注解
在spring boot中,摒弃了spring以往项目中大量繁琐的配置,遵循约定大于配置的原则,通过自身默认配置,极大的降低了项目搭建的复杂度.同样在spring boot中,大量注解的使用,使得代码 ...
- SpringBoot系统列 4 - 常用注解、拦截器、异常处理
在前面代码基础上进行改造: 1.SpringBoot常用注解 @SpringBootApplication :指定SpringBoot项目启动的入口,是一个复合注解,由@Configuration.@ ...
- SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别
@Controller 处理http请求 @Controller //@ResponseBody public class HelloController { @RequestMapping(valu ...
- SpringBoot 中常用注解@Controller/@RestController/@RequestMapping的区别
SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别 @Controller 处理http请求 @Controller //@Re ...
- SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍
原文 SpringBoot 中常用注解 @Controller/@RestController/@RequestMapping介绍 @Controller 处理http请求 @Controller / ...
- SpringBoot 常用注解(持续更新)
SpringBoot 常用注解 @SpringBootApplication @Bean @ComponentScan @ControllerAdvice @ExceptionHandler @Res ...
随机推荐
- leaflet利用hotline实现河流差值渲染热力图
实现效果(这里做了1条主河道和5个支流): 核心代码使用了Leaflet.hotline插件,github下载地址链接 详情见我之前整理的一篇文章介绍河流热力图 核心代码逻辑: // 处理河流数据以及 ...
- 暴力破解(Pikachu)
暴力破解(Pikachu靶场) Burpsuite4种攻击类型 Sinper(狙击手): 可以理解为一个一个爆破,也就是字典只能设置一个,然后用字典替换选择的参数,爆破完一个参数后再爆破另一个参数. ...
- Django 安全性与防御性编程:如何保护 Django Web 应用
title: Django 安全性与防御性编程:如何保护 Django Web 应用 date: 2024/5/13 20:26:58 updated: 2024/5/13 20:26:58 cate ...
- 一文搞懂docker容器基础:docker镜像管理,docker容器管理
目录 一.系统环境 二.docker 2.1 Docker 概述 2.2 Docker 平台 2.3 我可以使用 Docker 做什么? 2.3.1 快速.一致地交付您的应用程序 2.3.2 响应式部 ...
- 【超强SQL】WordPress批量修改指定分类下所有文章状态
前阵子主题君的某一个手游下载站的某一个分类,被百度K了,导致整个分类的文章收录都没了,这时候如果想要回复权重,就需要把这个分类的文章都删除了. 下面主题君给大家分享一段巨牛逼的SQL, WordPre ...
- 低代码与 Echarts 融合:开启智能可视化的创新浪潮
前言 在当今数字化时代,数据的价值愈发凸显,企业和组织需要有效地利用数据来作出战略决策和优化业务流程.可视化是一种强大的工具,可以将复杂的数据以直观的方式展现出来,帮助用户更好地理解和分析数据.近年来 ...
- 一:nacos 的安装与启动方式
一: nacos 的下载与安装 1,下载 到 github下载 nacos-server-1.2.0.zip 文件 :https://github.com/alibaba/nacos/rele ...
- kettle从入门到精通 第二十二课 kettle carte web服务中文乱码
在windows 上面 carte服务的canvas画布展示的中文正常,但是在linux上面中文展示乱码,如下所示: 原因:linux 机器缺少字体所致. kettle源码中使用字体: 解决方法: 安 ...
- 关于 Elasticsearch 不同分片设置的压测报告
摘要 为了验证当前集群经常出现索引超时以及请求拒绝的问题,现模拟线上集群环境及索引设置,通过压测工具随机生成测试数据,针对当前的 850 个分片的索引,以及减半之后的索引,以及更小分片索引的写入进行压 ...
- 抖音验证签名和接口含中文签名,需要在发送端加上utf8编码
抖音验证签名和接口含中文签名,需要在发送端加上utf8编码 抖音验签和抖音异步通知回调验签解决:是对整个接收的字符串做验签,而不是部分数据做验签解决中文参数问题,否则中文乱码报验签错误 签名算法htt ...