SpringSecurity—实现自动登录功能
自动登录是我们在软件开发时一个非常常见的功能,例如我们登录 QQ 邮箱: 很多网站我们在登录的时候都会看到类似的选项,毕竟总让用户输入用户名密码是一件很麻烦的事。 自动登录功能就是,用户在登录成功后,…
SpringSecurity—如何将用户数据存入数据库(自带设计)
真正的项目中,大部分情况下,我们都是自己设计权限数据库, 不过,Spring Security 也给我们提供了一个它自己设计好的权限数据库,这里我们先来看看这是怎么回事! 1.UserDetailSe…
SpringBoot—过滤器注册方式
1.@WebFilter 通过 @WebFilter 注解来标记一个过滤器,这种方式相信大家很容易想到。这是将 Servlet 中的那一套东西直接拿到 Spring Boot 上用。 具体做法就是通过…
MybatisPlus—QueryWrapper、QueryChainWrapper、LambdaQueryWrapper以及LambdaQueryChainWrapper
前言:以前都是使用QueryWrapper的情况多一点,其余三种也没怎么涉及。 首先准备一个对应的实体类: @Data @TableName("house") public class HouseEn…
Spring—SpEL表达式总结
SpEL(Spring Expression Language),即Spring表达式语言。它是一种类似JSP的EL表达式、但又比后者更为强大有用的表达式语言。 为什么要用SpEL:因为它可以在spr…
MyBatisPlus—分页查询以及自定义sql分页
一、引言 分页查询每个人程序猿几乎都使用过,但是有部分同学不懂什么是物理分页和逻辑分页。 物理分页:相当于执行了limit分页语句,返回部分数据。物理分页只返回部分数据占用内存小,能够获取数据库最新的…
SpringSecurity—四种权限控制方式
Spring Security 中对于权限控制默认已经提供了很多了,但是,一个优秀的框架必须具备良好的扩展性,恰好,Spring Security 的扩展性就非常棒,我们既可以使用 Spring Se…
SpringSecurity—异常处理机制
在 Spring Security 的过滤器链中,ExceptionTranslationFilter 过滤器专门用来处理异常,在 ExceptionTranslationFilter 中,我们可以看…
Redis—StringRedisTemplate和RedisTemplate
RedisTemplate介绍 spring 封装了 RedisTemplate 对象来进行对redis的各种操作,它支持所有的 redis 原生的 api。 RedisTemplate在spring…
Maven—dependencies与dependencyManagement的区别
在一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别: DepencyManagement应用场景 当我们的项目模块很…
Java—Optional 详细用法 (java8)
一、简介 Optional 是一个对象容器,具有以下两个特点:     提示用户要注意该对象有可能为null    简化if else代码 二、使用介绍 1.创建:     Opt…
java—stream()方法的使用(java8)
Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQ…
SpringSecurity 竟然可以同时存在多个过滤器链?
首先这个问题本身是有点问题的,因为 http.authorizeRequests() 并非总是第一个,虽然大部分情况下,我们看到的是第一个,但是也有很多情况 http.authorizeRequest…
SpringSecurity—基本原理
上一篇笔记讲述了一些关键点和基本的流程,通过上一篇了解了基本的知识为下面做铺垫。 http://www.enmalvi.com/2020/07/15/springsecurity-3/ 三句话解释框架…
SpringSecurity—基础知识点与流程介绍
上次的关于SpringSecurity的几个关键词整理比较散乱,是从表层应用出发的流程和所用到的类,这篇笔记是上一篇的扩充,更加的清晰。 http://www.enmalvi.com/2020/04/…
Spring—DelegatingFilterProxy的作用与用法 (过滤器授权代理)
继承的关系: 作用: DelegatingFilterProxy类存在与spring-web包中,其作用就是一个filter的代理,用这个类的好处是可以通过spring容器来管理filter的生命周期…
PGSQL—格式化时间的函数
PostgreSQL格式化函数提供一套有效的工具用于把各种数据类型(日期/时间、integer、floating point和numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成指定的…
Mybatis-Plus—Iservice与BaseMapper
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 关于mybatis-plus中S…
SpringSecurity 配置中的 and 到底该怎么理解?
在写SpringBoot中的时候最常用的安全框架不是Shiro而是SpringSecurity,即使它是重量级的框架但是和Spring高度契合,原本的复杂的xml配置全是都有Boot自动配置搞定了,但…
EasyExcel使用详解
关于POI的笔记: http://www.enmalvi.com/2020/05/09/java-poi-excel/ 关于Excel表格的都可以用得到poi和EasyExcel EasyExcel …
SpringSecurity addFilter() 顺序问题
我们假设我们使用addFilterAt(A, B.class)。 即将A拦截器添加到B拦截器的位置。那么addFilterAt 既然没有覆盖原先的拦截器,那么A不是在B拦截器前面就是在B拦截器后面,那…
vue中路由传参
一、使用router-link进行路由导航,传递参数 父组件中:使用<router-link to="/需要跳转的路由路径/需要传递的参数"></router-link>标签进行导航 子组…
Vue关于路由拦截
一、data数据定义userInfo成一个对象,包含账号与密码两个属性: data() { return { userInfo: { loginName: "", password: "" } }; …
Vue—computed计算属性
computed用来监控自己定义的变量,该变量不在data里面声明,直接在computed里面定义,然后就可以在页面上进行双向数据绑定展示出结果或者用作其他处理;computed比较适合对多个变量或者…
lombok基本注解
lombok是一款在java开发中简洁化代码十分有用的插件工具。 使用lombok注解,目的和作用就在于不用再去写经常反复去写的(如Getter,Setter,Constructor等)一些代码了。 …
java中的双冒号操作符
双冒号运算操作符是类方法的句柄,lambda表达式的一种简写,这种简写的学名叫eta-conversion或者叫η-conversion。 通常的情况下: 把 x -> System.out.prin…
CSS3弹性盒布局方式(flex)
1、CSS3弹性盒子 弹性盒子是CSS3的一种新布局模式。 CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的…
SpringBoot—logback日志配置
spring boot可以适应所有日志框架,只需在类路径下包含相应的依赖来激活各种日志系统。 spring boot底层使用slf4j + logback框架来实现日志记录,所以如果想要自定义logb…