需求背景:在使用springbot cache时,发现@cacheabe不能设置缓存时间,导致生成的缓存始终在redis中. 环境:springboot 2.1.5 + redis 解决办法:利用AOP自定义注解,用SPEL来解释key表达式. 1.定义注解 package com.test.entity.util.annotation.cache; import java.lang.annotation.ElementType; import java.lang.annotation.Rete…
    最近碰到个这样的需求,需要同一套代码适配个版本数据库(数据库不同,且部分表的字段及关联关系可能会不同),即这套代码配置不同的数据库都能跑.项目采用的框架为SpringBoot+Mybatis.经过一番思考,思路如下:     (1)在业务层(service)和数据访问层(Mapper)之间添加一层适配层,用来屏蔽数据库的差异     (2)适配层中代码均采用接口加实现类的方式,不同的数据库用的实现类不同     (3)业务层(service)中全部采用面向接口编程     (4)项目启动…
https://blog.csdn.net/sanjay_f/article/details/47372967 https://www.cnblogs.com/lic309/p/4072848.html https://blog.csdn.net/u012373815/article/details/54564076/ Spring Boot开启缓存注解 1:Spring Boot 常用缓存配置: @Cacheable.@CachePut.@CacheEvict 注释介绍 @Cacheable…
文章来源 https://blog.csdn.net/u010588262/article/details/81003493 1. pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2. Springboot配置文件…
https://www.cnblogs.com/fashflying/p/6908028.html https://blog.csdn.net/syani/article/details/52239967 从3.1开始,Spring引入了对Cache的支持.其使用方法和原理都类似于Spring对事务管理的支持.Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该…
https://blog.csdn.net/u012240455/article/details/80844361 注释介绍 @Cacheable @Cacheable 的作用 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存 @Cacheable 作用和配置方法 参数 解释 example value 缓存的名称,在 spring 配置文件中定义,必须指定至少一个 例如:@Cacheable(value=”mycache”)@Cacheable(value={”cache1”,”cac…
SPRINGBOOT自定义注解 在springboot中,有各种各样的注解,这些注解能够简化我们的配置,提高开发效率.一般来说,springboot提供的注解已经佷丰富了,但如果我们想针对某个特定情景来添加注解,就可以使用自定义注解. 自定义注解的步骤 实现这个自定义注解一般主要有以下几个步骤. maven导入相关的依赖 声明注解 注解的具体实现 使用注解的实例 在phyweb项目中的应用 之所以会想到这个自定义注解,是因为我们在给用户发送邮件这个模块中,用户如果提交了请求,提交按钮被禁用,这个…
上文我们讨论了如何使用@Min.@Max等注解进行参数校验,主要是针对基本数据类型和级联对象进行参数校验的演示,但是在实际中我们往往需要更为复杂的校验规则,比如注册用户的密码和确认密码进行校验,这个时候基本的注解就无法满足我们的要求了,需要去按照业务需求去自定义注解进行校验 元注解 在自定义注解之前我们有必要了解一些元注解,元注解就是在注解上的注解,可以对一个注解进行配置,元注解包括@Retention.@Target.@Document.@Inherited四种 @Retention,表示注解…
springboot + 拦截器 + 注解 实现自定义权限验证最近用到一种前端模板技术:jtwig,在权限控制上没有用springSecurity.因此用拦截器和注解结合实现了权限控制. 1.1 定义权限常量 PermissionConstants.java public class PermissionConstants { /** * 管理员-产品列表查询 */ public static final String ADMIN_PRODUCT_LIST = "admin_product_li…
使用自定义参数注解获取 token 中User数据 使用背景 在springboot项目开发中需要从token中获取用户信息时通常的方式要经历几个步骤 拦截器中截获token TokenUtil工具类解析token中的用户信息 把解析结果存入到成员变量中 controller中通过TokenUtil工具类提供的静态方法获取用户信息 下面是过程示例代码 /*--------1.拦截器中获取---------*/ String token =request.getHeader("token"…