SpringBoot知识笔记

一、基本概念

1.1 特性

起步依赖

自动配置

其它特性:内嵌的Tomcat、Jetty(无需部署WAR文件),外部配置,不需要XML配置(properties/yml)。

1.2 配置文件

SpringBoot提供了多种属性配置方式

//application.properties
server.port=9090
server.servlet.context-path=/start
//application.yml/application.yaml
server:port: 9191servlet:context-path: /start2
//值前面必须有空格作为分隔

配置信息的获取

@Value(${email.user})
public String user;
@Value(${email.password})
public String password;

Bean扫描

自动配置原理

在主启动类上添加了SpringBootApplication注解,这个注解组合了EnableAutoConfiguration注解,EnableAutoConfiguration注解又组合了Import注解,导入了AutoConfigurationImportSelector类,

实现selectimports方法,这个方法经过层层调用,最终会读取META-INF目录下的后缀名为imports的文件,当然boot2.7以前,读取的是spring.factories文件。读取到了全类名之后,会解析注册条件,也就是Conditional及其衍生注解,把满足注册条件的Bean对象自动注入到IOC容器中。

二、登录认证

令牌就是一段字符串。

  • 承载业务数据,减少后续请求查询数据库的次数。
  • 防篡改,保证信息的合法性和有效性。

JWT

全称:JSON Web Token

定义了一种简洁、自定义的格式,用于通信双方以json数据格式的传输信息。

组成:

  • 第一部分:Header(头),记录令牌类型、签名算法等。例如:{“alg”:“HS256”,“type”:JWT“}

  • 第二部分:Payload(有效载荷),携带一些自定义信息、默认信息等。例如:{“id”:“1”,“username”:“Tom”}

  • 第三部分:Signature(签名),防止Token被篡改、确保数据安全。将header、payload,并加入指定秘钥,通过指定签名算法计算而来。

注意:

  • JWT效验时使用的签名秘钥,必须和生成JWT令牌时使用的秘钥是配套的。

  • 如果JWT令牌解析效验时报错,则说明JWT令牌被篡改或失效了,令牌非法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3270153.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Linux下Centos7中的gcc/g++

命为志存。 —— 朱熹 Linux中C/C翻译过程 1、样例介绍1、1、gcc版本过低不能编译成功1、2、编写 .cxx或.cc或.cpp代码(都是C) 2、程序的翻译过程2、1、条件编译(补充)2、2、语言历史 3、深入理解链接3、1、静态链接的使用场景 1、样例介绍 1、1、gcc版本过低不能编译成功 in…

前端自动化测试(一):揭秘自动化测试秘诀

目录 [TOC](目录)前言自动化测试 VS 手动测试测试分类何为单元测试单元测试的优缺点优点缺点 测试案例测试代码 测试函数的封装实现 expect 方法实现 test 函数结语 正文开始 , 如果觉得文章对您有帮助,请帮我三连订阅,谢谢💖&…

android(安卓)最简单明了解释版本控制之MinSdkVersion、CompileSdkVersion、TargetSdkVersion

1、先明白几个概念 (1)平台版本(Android SDK版本号) 平台版本也就是我们平时说的安卓8、安卓9、安卓10 (2)API级别(API Level) Android 平台提供的框架 API 被称作“API 级别” …

Android APK混淆处理方案分析

这里写目录标题 一、前言1.1 相关工具二、Apk 分析2.1 apk 解压文件2.2 apk 签名信息2.3 apk AndroidManifest.xml2.4 apk code三、Apk 处理3.1 添加垃圾文件3.2 AndroidManifest.xml 处理3.3 dex 混淆处理3.4 zipalign对齐3.5 apk 重新签名3.6 apk 安装测试四、总结一、前言 提…

Unity打包设置

1.Resolution and Presentation (分辨率和显示) Fullscreen Window (全屏窗口): 应用程序将以全屏窗口模式运行,但不会独占屏幕。适用于想要全屏显示但仍需访问其他窗口的情况。 Resizable Window (可调整大小的窗口): 允许用户调整应用程序窗口的大小。适用于窗口…

Selenium相对定位

测试网站:Web form 相对定位的方法: above():定位基准元素上方的元素below():定位基准元素下方的元素to_left_of():定位基准元素左侧的元素to_right_of():定位基准元素右侧的元素near() :定位基…

糊涂工具包和commons包(Java)

工具包(Commons-io) 介绍: Commons是apache开源基金组织提供的工具包,里面有很多帮助我们提高开发效率的API 比如: StringUtils 字符串工具类 NumberUtils 数字工具类 ArrayUtils 数组工具类 RandomUtils…

集群自组网应急指挥体系应用技术分析

一、技术背景与意义 随着社会的快速发展和科技的日益进步,面对自然灾害、突发事件等紧急情况,快速有效的应急指挥体系成为维护社会稳定和人民生命财产安全的重要保障。集群自组网应急指挥体系,以其快速部署、高可靠性、强抗毁性等优势&#…

高速传输新体验:探索最新USB-C移动硬盘盒的无限可能

在数字化时代,数据存储的重要性不言而喻,而硬盘盒作为连接外部硬盘与计算机的关键设备,其功能也在不断进化。近年来,随着技术的创新与发展,市场上出现了一种新型硬盘盒——它不仅能安全、高效地存储和传输数据&#xf…

JAVA笔记十七

十七、File-IO流 1.I/O的概念和java.io包 (1)输入:外部源—>程序 输出:程序—>输出目标 外部源、输出目标:磁盘文件、网络连接、内存缓存等 (2)java程序通过流执行I/O 流是一种抽象,可以用来产生信息或者使用信息&#…

Python基础——第一个Python程序

Python基础——第一个Python程序 一、编写和运行代码的工具1.1 为什么需要工具1.2 默认的交互式环境1.3 文本编辑神器 - Visual Studio Code1.4 专业的集成开发环境 - PyCharm 二、编写第一个Python程序2.1 在PyCharm中编写“Hello, World!”程序2.2 运行“Hello, World!”程序…

期指期货做空什么意思?股指期货做空怎么操作?

“期指做空”是一种金融交易策略,主要涉及股指期货。在这种策略中,投资者并没有实际持有股票,而是通过期货合约来进行交易。具体来说,做空是指在期货市场中,投资者预期某项资产的价格将下跌,因此选择先卖出…

springboot农村扶贫管理系统-计算机毕业设计源码34072

目录 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.1.1技术可行性 2.1.2经济可行性 2.1.3社会可行性 2.1.4法律可行性 2.2 系统流程分析 2.2.1 数据流程 2.2.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 …

十日Python项目——第三日(用户中心——邮箱验证、修改密码)

#前言: 在最近十天我会用Python做一个购物类项目,会用到DjangoMysqlRedisVue等。 今天是第三天,主要负责撰写用户中心部分,以及优化登录部分。若是有不懂大家可以先阅读我的前两篇博客以能够顺承。博客:十日Python项…

【你也能从零基础学会网站开发】 SQL结构化查询语言应用基础-- SQL Server 2000创建表约束之IDENTITY唯一游标、DEFAULT约束详解!

🚀 个人主页 极客小俊 ✍🏻 作者简介:程序猿、设计师、技术分享 🐋 希望大家多多支持, 我们一起学习和进步! 🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注 IDENTITY唯一游…

安装CUDA Cudnn Pytorch(GPU版本)步骤

一.先看自己的电脑NVIDIA 支持CUDA版本是多少? 1.打开NVIDIA控制面板 2.点击帮助---系统信息--组件 我的支持CUDA11.6 二.再看支持Pytorch的CUDA版本 三.打开CUDA官网 下载CUDA 11.6 下载好后,安装 选择 自定义 然后安装位置 (先去F盘…

怎么远程查看电脑文件?

为什么需要远程访问电脑? 您是否曾遇到需要远程查看电脑文件的情况?例如,由于紧急原因需要访问办公室的电脑文件。那么,我们怎么才能在家里或者在外面远程查看公司电脑上的文件呢? 如今,许多远程控制软件…

用Manim实现Graf的数学动画——【DiGraph】的用法和实际操作

用Manim实现Graf的数学动画——【DiGraph】的详细 这是表示有向图的类。在有向图中,边有方向,意味着边是从一个顶点指向另一个顶点的。 图【Graph】两层含义: 1.称为顶点的连接点图。 2. 绘制的值,通常显示为具有水平轴和垂直轴的…

昇思25天学习打卡营第2天|基础知识-张量

目录 张量 张量Tensor的介绍 创建张量 张量的属性 张量索引 张量运算 Tensor与NumPy转换 Tensor转换为NumPy NumPy转换为Tensor 稀疏张量 CSRTensor COOTensor 张量 张量Tensor的介绍 张量(Tensor)是一个可用来表示在一些矢量、标量和其他…

探索 SPL-404 协议标准:NFT 与 DeFi 的融合

在快速发展的数字资产领域中,NFT 协议标准持续演变,改变了我们对数字所有权和互动方式的理解。从 Art 到 Gamefi 等等,NFT 已经演变成数字经济的重要组成部分,吸引了广泛关注。遵循 ERC404 协议,SPL404 概念在 Solana …