自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 Spring Session中session的事件监听

前提Redis版本>2.8开启事件通知配置(默认spring session会自动开启该配置)配置文件:notify-keyspace-events Ex命令行:redis-cli config set notify-keyspace-events Egx不需要自动开启该配置的话可以将如下配置加入到容器中@Beanpublic static ConfigureRed...

2020-04-08 12:05:00 1637

原创 Redis缓存雪崩、穿透、击穿

概念缓存雪崩大量的缓存在同一时间失效,导致大量请求直接落到数据库上解决方案:缓存过期时间添加一个随机值缓存穿透大量请求,查询数据库不存在的数据,导致数据库压力过大,数据库被击垮。解决方案:布隆过滤器接口层校验(用户鉴权,请求参数),过滤大量非法请求设置NULL值缓存(带过期时间)缓存击穿高并发下,热点key失效瞬间。持续的大并发就穿破缓存,直接请求数据库。...

2020-03-22 14:18:54 208

转载 @ConfigurationProperties 注解使用姿势,这一篇就够了

原文地址在编写项目代码时,我们要求更灵活的配置,更好的模块化整合。在 Spring Boot 项目中,为满足以上要求,我们将大量的参数配置在 application.properties 或 application.yml 文件中,通过 @ConfigurationProperties 注解,我们可以方便的获取这些参数值使用 @ConfigurationProperties 配置模块假设我...

2019-12-27 09:36:30 310

原创 关于Session共享

session共享原理使用第三方存储介质存储HttpSession,读取和写入均通过第三方介质完成。其原理类似于分布式锁的实现,分布式锁也是将锁交由第三方管理,从而实现锁的唯一性。常见session共享方案Spring-Session在未集成Shiro框架的Spring应用中,可以通过Spring-Session将HttpSession存储到Redis中,从而实现Session的共享S...

2019-12-26 21:39:33 160

原创 URL、URI、ServletPath、ContextPath示例

String servletPath = request.getServletPath();String uri = request.getRequestURI();String url = request.getRequestURL().toString();String contextPath = request.getContextPath();

2019-12-24 16:20:52 407

原创 @compent使Filter的urlPatterns失效

在springboot应用中自定义Filter时,在Filter上添加@compent注解会使urlPatterns匹配路径变为"/*"而不是自定义路径@WebFilter(filterName = "loginFilter", urlPatterns = "/auth/*")public class loginFilter implements Filter { @Override...

2019-12-13 17:49:45 693

原创 使用jasypt加密springboot配置中的敏感数据

一、操作流程在springboot项目中引入jasypt的staters<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <versi...

2019-06-13 15:33:19 412

原创 ssm项目 mybatis分段查询配置延迟加载 springmvc返回json数据报错

错误信息:com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl and...

2018-12-14 10:12:13 290

原创 ssm整合Mybatis之批量操作

applicationContext-dao.xml中声明一个可执行批量操作的sqlSession通过构造函数注入方式:将SqlSessionTemplate交予Spring进行管理,方便后面service层中引用注意:SqlSessionTemplate的executorType属性为BATCH&lt;!-- 让spring管理sqlsessionfactory 使用mybatis和...

2018-09-30 11:36:04 848

转载 spring定时任务

spring自带task简单使用示例:原文地址解决Task并发问题:原文地址Quartz定时任务及Task:原文地址Cron表达式生成:传送门@Scheduled注解参数详解:传送门  ...

2018-09-29 13:54:58 221

原创 逻辑分页之PageBean

PageBean:基本需求:具有前台页面分页所需的所有参数内容 特点:具有逻辑分页功能 原理:利用List的subList实现对当前页数据的截取 具体代码如下:package com.java.utils;import java.io.Serializable;import java.util.List;public class PageBean&lt;T&gt; impl...

2018-08-30 22:30:47 515

原创 spring data jpa方法命名规范

关键字 示例 jpa对应sql And findByLastnameAndFirstname … where x.lastname = ?1 and x.firstname = ?2 Or findByLastnameOrFirstname … where x.lastname = ?1 or x.firstname = ?2 Is,Equals ...

2018-08-03 15:04:43 535

原创 java8之Lambda表达式

什么是lambda表达式:lambda expression    Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction)    Lambda表达式是一个匿名函数,即没有函数名的函数。    Lambda表达式可以表示闭包    ----百度百科lambda表达式语法:    (parameters) -&gt; expre...

2018-07-31 15:40:18 234

原创 java8之StreamAPI

Stream(流):什么是stream(流):Stream是一个来自数据源的元素队列并支持聚合操作   元素:是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算   数据源:流的来源。可以是集合,数组,I/O channel, 产生器generator 等   聚合操作:类似SQL语句一样的操作,如:filter, map, reduce, f...

2018-07-31 14:27:50 326

原创 java8函数式接口

 目录函数式接口:Functional Interface定义:JDK 1.8之前已有的函数式接口:JDK 1.8 新增加的函数接口:常用函数式接口: 常用函数式接口示例:自定义函数式接口:定义自定义函数式接口:User实体类:使用自定义函数式接口: 函数式接口:Functional Interface 定义: 就是一个有且仅有一个抽象...

2018-07-27 16:37:53 407

原创 Spring父子容器

父子容器基本概念:Spring中可以包含多个容器:SpringMVC为例,Spring为父容器、SpringMVC为子容器 父容器中的bean对子容器的bean是可见的,但是子容器的bean对父容器的bean是不可见的 父容器加载的属性变量只是对父容器spring本身的对象可见对于属性,如果在父容器中有properties文件,其中的属性子容器是访问不到的!跨容器了!重点:一般我们在...

2018-07-24 10:35:34 443

原创 git常用命令

全局用户信息配置:$ git config --global user.name "Your Name"$ git config --global user.email "[email protected]"注意:git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置初始化git仓库:$ git init例:目录不含中文...

2018-07-16 16:29:46 198

原创 Spring Boot整合Mybatis通用Mapper插件

项目配置:

2018-07-12 17:45:40 4565 1

原创 javamail相关问题分析及解决

550 5.7.1 UNABLE TO RELAY:    原因:javax.mail包版本太旧,不支持NTLM验证    解决方法:换新版javamail java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream:    原因:MyEclipse中Java EE x Libraries 与javamail中的j...

2018-07-09 15:16:43 454

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除