- 博客(11)
- 收藏
- 关注
原创 SpringBoot集成shiro--详细
简介1、1 什么是Shiro- Apache Shiro是一个JAVA的安全框架- Shiro可以再JAVASE环境下使用- Shiro可以完成认证、授权、加密、会话管理、Web集成、缓存等1、2 shiro认证思路shiro,认证流程,实际注册是从下往上1、3 SpringBoot集成Shiro基本的认证流程图:1、4 代码示例1、4、1 :新建SpringBoot项目1、4、2 : 导入相关依赖<!--测试依赖-->&...
2020-09-25 10:45:48
267
原创 Mybatis的一级缓存和二级缓存-详解
Mybatis自带一级和二级缓存,但是默认开启一级缓存。一级缓存:概述一级缓存只是相对于同一个SqlSession而言,所以在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,MyBatis会将其放在缓存中,以后再查询的时候,如果没有声明需要刷新,并且缓存没有超时的情况下,SqlSession都会取出当前缓存的数据,而不会再次发送SQL到数据库。一级缓存的生命周...
2020-09-16 16:59:11
229
原创 Mysql索引分类
文章目录索引的类型分类、用法、区别引言:一、单列索引语法:二、组合索引(复合索引)三、全文索引支持:创建:删除:使用:配置最小搜索长度索引的类型分类、用法、区别引言:DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。MySQL官方对于索引的定义为:索引是帮助MySQL高效获取数据的数据结构。即可以理解为:索引是数据结构m
2020-09-15 18:13:47
187
原创 JWT和Token还有Session的区别
引言会话机制(Session)是用于识别用户身份的方法之一,但是由于需要服务器保存所有人的session id,如果访问服务器多了,就得有成千上万或者几十万个。这对服务器是一个巨大的开销,严重的限制了服务器的拓展能力。因此诞生了token(令牌)JWT和TokenToken认证流程:1. 用户输入用户名和密码,发送给服务器。2. 服务器验证用户名和密码,正确的话就返回一个签名过的token(token 可以认为就是个长长的字符串),浏览器客户端拿到这个token。 3. 后续每次请求中,浏览
2020-08-28 10:03:46
1041
原创 CSRF(跨站请求伪造)攻击与防御
文章目录简介攻击流程(简述)防御CSRF简介CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性。你可以这样理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。攻击流程(简述)前提:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为W
2020-08-27 15:55:18
204
原创 Cookie与Session区别详解
文章目录引言1、Cookie会话机制2、Session机制3、Cookie和Session的区别引言会话(Session)跟踪是Web程序中常用的技术,用于追踪用户的整个会话,常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。1、Cookie会话机制1.1 简介HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪
2020-08-27 15:32:37
135
原创 SpringBoot自定义注解
文章目录简介demo(自定义用户信息注解)简介在很多业务场景中,我们一般会对重复的代码进行抽取注册成一个工具类,但是每次都要引入该方法,显然不够优雅。在SpringBoot中支持的自定义注解可让代码更加简洁。话不多说,上代码:import java.lang.annotation.*;//注解信息会被添加到Java文档中@Documented //注解的生命周期,表示注解会被保留到什么阶段,可以选择编译阶段、类加载阶段,或运行阶段@Retention(RetentionPolicy.RUNT
2020-08-12 10:44:35
512
3
原创 jdk1.8接口变化
文章目录jdk1.8接口变化jdk1.8接口变化简介我们通常所说的接口的作用是用于定义一套标准、约束、规范等,接口中的方法只声明方法的签名,不提供相应的方法体,方法体由对应的实现类去实现。在JDK1.8中打破了这样的认识,接口中的方法可以有方法体,但需要关键字static或者default来修饰。关键词属性static静态方法,静态方法通过接口名来调用default默认方法,默认方法通过实例对象来调用作用静态方法和默认方法都有自己的方法体,用于提供一套
2020-08-10 10:42:53
750
原创 Mybatis简化代码之一:配置通用Mapper
通用Mapper引言:本文是参照通用mapper官方文档总结而成,详细信息及配置参照官方文档1、集成1、java代码集成2、Spring集成3、SpringBoot集成(只针对此方式)1)导入相关依赖 <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId>
2020-08-07 09:25:19
647
原创 lambda表达式入门详解
为什么要使用lambda表达式Java 对象往往比较“重量级”:实例化一个类型往往会涉及不同的类,并需要初始化类里的字段和方法。不过有些 Java 对象只是对单个函数的封装。例如下面这个典型用例:Java API 中定义了一个接口(一般被称为回调接口),用户通过提供这个接口的实例来传入指定行为,例如:public interface ActionListener { void actionPerformed(ActionEvent e);}因为该方法只在调用处使用一次,所以我们并不需要去实现
2020-08-06 18:01:59
240
原创 Mybatis中case when 配合 trim的使用方法
Mybatis中case when 配合 trim的使用方法Mybatis中trim标签的使用case when的使用方法demo(批量更新数据)Mybatis中trim标签的使用1、作用:一般用于去除sql语句中多余的and关键字、逗号、或者给sql语句前拼接where、set以及values等前缀或后缀2、属性:属性描述prefix给sql语句拼接的前缀suffix给sql语句拼接的后缀prefixOverrides去除sql语句前面的关键字或者字符,该
2020-08-06 09:29:10
9391
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人