Spring?@Cacheable注解类内部调用失效的解决方案
目录@Cacheable注解类内部调用失效@Cacheable注解缓存方法内部调用方法一方法二方法三方法四 @Cacheable注解类内部调用失效
如果你只是想使用一个轻量级的缓存方案,那么可以尝试使用Spring cache方案。
那么在使用spring @Cacheable注解的时候,要...[2022/1/3]
基于spring?@Cacheable?注解的spel表达式解析执行逻辑
目录直接进入主题 跟随spring的调用链直接看 @Cacheable 注解就可以了接下来看 key获取是在哪里没有任何逻辑就是一个组装了解一下@Cacheable的拦截顺序接下来看 execute方法再看 重载方法execute 日常使用中spring的 @Cacheable 大家一定不陌生,基于...[2022/1/3]
解决SpringAop内部调用时不经过代理类的问题
目录SpringAopAOP代理织入时期动态代理方式解决SpringAop内部调用时不经过代理类(而是通过this)方案一方案二this使得SpringAop失效之谜问题描述问题剖析 SpringAop
AOP代理织入时期
编译时织入 - aspectj框架类加载时织入 - aspectj框架...[2022/1/3]
Spring?AOP对嵌套方法不起作用的解决
目录Spring AOP对嵌套方法不起作用要解决这个问题Spring AOP、嵌套调用失效及解决加入注解获取当前代理的接口需要嵌套调用的Service实现它调用的时候改写代码 Spring AOP对嵌套方法不起作用
今天在调研系统操作记录日志时,好多教程都是借助于Spring AOP机制来实现。...[2022/1/3]
SpringBoot拦截器的使用介绍SpringBoot拦截器的使用介绍
目录定义拦截器实现HandleInterceptor接口继承HandleInterceptorAdapter类实现WebRequestInterceptor接口实现RequestInterceptor接口小插曲 @Configuration和@Component区别注册拦截器继承WebMvcConf...[2022/1/2]
Spring?Security过滤器链加载执行流程源码解析Spring?Security过滤器链加载执行流程源码解析
目录Spring Security实现原理一、Spring Security过滤器链加载1、注册名为 springSecurityFilterChain的过滤器2、查看 DelegatingFilterProxy类3、查看 FilterChainProxy类3.1 查看 doFilterIntern...[2021/12/31]
实战SpringBoot集成JWT实现token验证
目录环境搭建1、新建一个SpringBoot项目Jwt-Demo,引入项目后面需要用到的jar包2、数据库结构3、配置文件application.properties4、Entity包下新建一个User类5、Dao包下新建一个UserDao6、Service包下新建一个USerService7、Us...[2021/12/31]
详解SpringBoot如何自定义Starter
目录阅读收获本章源码下载什么是Starter为什么使用StarterSpringboot自动配置spring.factoriesStarter开发常用注解Full全模式和Lite轻量级模式Starter命名规范开发Starter1. 创建Starter项目2. 添加依赖3. 编写属性类4. 自定义业...[2021/12/31]
SpringBoot QQ邮箱发送邮件实例代码
目录1.获取QQ邮箱授权码2.导入邮箱发送依赖启动器3.配置文件yml添加邮件服务配置4.编写接口IMailService5.编写实现MailServiceImpl6.Controller调用7.thymeleaf模板 mailTemplate.html总结 SpringBoot整合邮件任务(QQ邮...[2021/12/31]
Spring框架学习之Spring?@Autowired实现自动装配的代码
学习自动装配之前,讲一个概念:Component,即组件。组件你也可以理解为bean对象,只不过通常Component的组成会稍微复杂一些,比如,一个组件里面会引用一个或多个别的bean对象,组件的定义方式也不一样。自动装配貌似就是为组件而生的。
自动装配(Autowired)这个概念,如果你...[2021/12/31]
Springboot Cache @CacheEvict 无法模糊删除的解决方案
目录SpringbootCache @CacheEvict 无法模糊删除以下代码适用于Redis@CacheEvict根据缓存名称模糊删除看源码可知 SpringbootCache @CacheEvict 无法模糊删除
用@CacheEvict删除缓存只能删除指定key的缓存,有些情况需要根据前...[2021/12/31]
SpringBoot源码分析之bootstrap.properties文件加载的原理SpringBoot源码分析之bootstrap.properties文件加载的原理
??对于SpringBoot中的属性文件相信大家在工作中用的是比较多的,对于application.properties和application.yml文件应该非常熟悉,但是对于bootstrap.properties文件和bootstrap.yml这个两个文件用的估计就比较少了,用过的应该...[2021/12/31]
Spring事件监听器之@EventListener原理分析
目录Spring事件监听器之@EventListener原理一、解析@EventListener前的准备工作二、开始解析@EventListenerEventListener.FactoryEventListener.Factory监听网络请求全过程问题是如何将这些数据回传回来呢 Spring事件监...[2021/12/31]
SpringMVC?@RequestMapping注解详解SpringMVC?@RequestMapping注解详解
目录一、@RequestMapping1.@RequestMapping注解的功能2.@RequestMapping注解的位置二、@RequestMapping注解的属性1.value属性(掌握)2.method属性(掌握)3.params属性(了解)4.headers属性(了解)5.SpringM...[2021/12/31]
springboot实现配置两个parent的方法
目录配置两个parent的方法springboot-starter- parent主要提供了如下默认配置对parent的简单理解parent的基本功能有 配置两个parent的方法
在向pom.xml 文件中添加依赖之前需要先添加spring-boot-starter-parent。
spr...[2021/12/31]
Spring?@Cacheable指定失效时间实例
目录Spring @Cacheable指定失效时间新版本配置老版本配置@Cacheable缓存失效时间策略默认实现及扩展背景Spring Cache Redis实现Spring Cache 失效时间自行刷新 Spring @Cacheable指定失效时间
新版本配置
@Configu...[2021/12/24]
SpringBoot @Cacheable自定义KeyGenerator方式
目录@Cacheable自定义KeyGenerator1. 概述2. MySimpleKey 类3. MyKeyGenerator 类4. 配置keyGeneratorSpring-Cache key设置第一种方式:手动设置第二种方式:自定义keyGenerator @Cacheable自定义Key...[2021/12/24]
springboot使用nacos的示例详解
1、pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http: maven.apache.org/POM/4.0.0" xmlns:xsi="http: www.w3.o...[2021/12/20]
SpringBoot发送html邮箱验证码功能SpringBoot发送html邮箱验证码功能
1. 效果展示(用户收到的)
2. 邮件推送管理(见以后的博客)
先看看如果管理员手动发送该如何操作
3. 后端核心代码(通用版)
3.1 SendEmailVO实体类
package com.example.han.model.VO;
import...[2021/12/17]
SpringSecurity?表单登录的实现
目录表单登录
登录成功
登录失败
注销登录
自定义注销成功的返回内容
表单登录
@Configuration
public cla SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
...[2021/12/17]
SpringBoot+OCR?实现图片文字识别
本篇介绍的是基于百度人工智能接口的文字识别实现。
1. 注册百度云,获得AppID
此处百度云非百度云盘,而是百度智能云。
大家可进入https: cloud.baidu.com/ 自行注册,这里就不多说了。
接下来,我们进行应用的创建
所需接口根据实际勾选,...[2021/12/17]
springboot?实战:异常与重定向问题springboot?实战:异常与重定向问题
目录springboot 异常与重定向1.下面先通过一个简单的例子实现页面的重定向2.通过一个更简单的方法实现重定向3.在重定向过程中,用se ion传递信息4.admin请求异常5.自己定义异常springboot 异常统一处理Demo springboot 异常与重定向
在spring中,有...[2021/12/17]
SpringMVC执行步骤、Model的使用详解
目录第一个SpringMvc HelloWorld无启动类前端操作后台执行步骤第二个SpringMvc项目项目简介知识点整合代码实例:SpringMvc02SpringMvc对rest风格url的支持SpringMvc文件上传SpringMvc文件上传图解SpringMvc的执行流程 第一个Spri...[2021/12/17]
SpringMVC 重新定向redirect请求中携带数据方式
目录SpringMVC 重新定向redirect请求中携带数据使用URL模版重定向使用flash属性SpringMVC 几种重定向携带数据方法1.拼接字符串2.采用RedirectAttribute来传参数3.RedirectAttribute—–addFlashAttribute()的用法 Spr...[2021/12/17]
SpringMVC 重定向参数RedirectAttributes实例SpringMVC 重定向参数RedirectAttributes实例
目录重定向参数RedirectAttributes1. addAttribute2. addFlashAttribute重定向携带参数问题问题描述问题来源 重定向参数RedirectAttributes
SpringMVC 中常用到 redirect 来实现重定向。但使用场景各有需求,如果只是简...[2021/12/17]
浅谈spring使用策略模式实现多种场景登录方式
?@Autowired注解可以帮我们自动注入我们想要的 Bean。
如果只是简单使用@Autowired会遇到spring IOC容器中一个接口有多个实现的情况,spring无法识别具体的实现类,如果不是策略模式,我们可以进行具体的指定@Qualifier和@primary来避免bean冲突的情...[2021/12/17]
基于SpringMVC实现网页登录拦截
目录1.简介2.自定义拦截器3. 登录拦截3.1 先做一个页面3.2 登录拦截 1.简介
SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。
拦截器和过滤器的区别在于拦截器使AOP思想的具体应用
过滤器
serv...[2021/12/17]
关于springBoot yml文件的list读取问题总结(亲测)
目录springBoot yml文件的list读取问题配置如下1.定义配置类2.定义启动的配置类3.使用方式读取yml文件里的list配置YAML 支持以下几种数据类型这里只介绍list类型的读取拿到配置文件里的内容 springBoot yml文件的list读取问题
折腾了很久,记录下。
...[2021/12/17]
spring@value注入配置文件值失败的原因分析
目录spring@value注入配置文件值失败的原因spring配置文件@Value注解注入失败或为null解决方案代码示例问题解析问题拓展 spring@value注入配置文件值失败的原因
今天我写了一个system.propertities配置文件定义了一个变量host=localhost。...[2021/12/17]
关于Spring?Data?Jpa?自定义方法实现问题
目录Spring Data Jpa 自定义方法的实现自己的接口主接口我新建一个类来实现我自己的接口Spring Data Jpa自定义方法关键字 Spring Data Jpa 自定义方法的实现
最近项目中用到了Spring Data JPA,在里面我继承了一个PagingAndSortingR...[2021/12/8]
spring?boot之使用spring?data?jpa的自定义sql方式
目录spring data jpa介绍自定义SQL查询jpa两种自定义SQL的方式1. 原生SQL2. 实体类SQL spring data jpa介绍
PA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理J...[2021/12/8]
SpringDataJpa创建联合索引的实现SpringDataJpa创建联合索引的实现
目录SpringDataJpa创建联合索引创建联合索引对应类创建映射实体类添加新数据SpringDataJpa指定联合索引在@Table中指定UniqueConstraint自动加上唯一索引了 SpringDataJpa创建联合索引
创建联合索引对应类
/**
* 作者:g...[2021/12/8]
SpringDataJpa的@Query注解报错的解决
目录SpringDataJpa @Query注解报错SpringDataJpa @query注解使用原生代码报错 SpringDataJpa @Query注解报错
public interface TimeContentRepository extends JpaRepository&l...[2021/12/8]
spring data jpa @Query注解中delete语句报错的解决spring data jpa @Query注解中delete语句报错的解决
目录spring data jpa @Query注解中delete语句报错项目中需要删除掉表中的一些数据JPA使用@Query注解实例1. 一个使用@Query注解的简单例子2. Like表达式3. 使用Native SQL Query4. 使用@Param注解注入参数5. SPEL表达式(使用时请...[2021/12/8]
SpringDataJpa like查询无效的解决
目录SpringDataJpa like查询无效Spring Data JPA 模糊查询LIKE精简版一. 方法一二. 方法二 SpringDataJpa like查询无效
这里写自定义目录标题
SpringDataJpa like查询
@Query(value = "selec...[2021/12/8]
SpringBoot常用注解详细整理
目录前言一、@SpringBootApplication二、@Bean三、@Autowired四、Component家族五、@RestController六、@Scope七、@Configuration八、@RequsetMapping八、@GetMapping九、@Configuration十、@...[2021/12/8]
springboot分布式整合dubbo的方式springboot分布式整合dubbo的方式
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provid...[2021/11/29]
SpringBoot多种自定义错误页面方式小结
目录以前web.xml方式SpringBoot中实现方式1.实现EmbeddedServletContainerCustomizer的bean2.通过拦截器方式3.自定义静态error页面方法 在项目中为了友好化,对于错误页面,我们常常会使用自定义的页面。SSM框架组合时代,我们通常通过拦截或者在w...[2021/11/29]
浅谈SpringBoot中的Bean初始化方法?@PostConstruct
目录注解说明代码示例注解示例错误示例正确示例SpringBoot @PostConstruct虽好,也要慎用1 问题的产生2 案例模拟3 总结 注解说明
使用注解: @PostConstruct
效果:在Bean初始化之后(构造方法和@Autowired之后)执行指定操作。经...[2021/11/29]
spring?boot?动态生成接口实现类的场景分析
目录一: 定义注解二: 建立动态代理类三: 注入spring容器四: 编写拦截器五: 新建测试类 在某些业务场景中,我们只需要业务代码中定义相应的接口或者相应的注解,并不需要实现对应的逻辑。
比如 mybatis和feign: 在 mybatis 中,我们只需要定义对应的mapper接口;在 f...[2021/11/29]
使用纯java config来配置spring mvc方式
目录1、使用mavan新建一个webmvc项目2、新建好了项目后3、编辑pom.xml使用maven来引入项目依赖包4、先来看看基本项目完成后的web.xml是什么样子的5、先在src/java/main下新建一个config包6、先编写第一个java cofing的配置类AppInitialize...[2021/11/29]
spring框架下@value注解属性static无法获取值问题
目录@value注解属性static无法获取值解决办法@Value注解取不到值的几种情况几种获取不到值的特殊情况如下 @value注解属性static无法获取值
@Value("${appId}")
private static String appid;
这样是无法直接获...[2021/11/29]
springboot2.x 接入阿里云市场短信发送的实现
1.短信平台购买次数地址
https: market.aliyun.com/product 57000002/cmapi00046920.html
提供测试模板、免审核、测试成本更低
2.测试学习使用的话,3块钱75多次够用了
3.购买后在跳转成功页面记录
AppSecr...[2021/11/29]
基于springBoot配置文件properties和yml中数组的写法基于springBoot配置文件properties和yml中数组的写法
目录springBoot配置文件properties和yml数组写法这两种方法你选择哪种都可以.properties和.yml的写法区别 springBoot配置文件properties和yml数组写法
这里介绍一下springBoot中的两种文件配置方式中数组的使用,也就是集合。
以下是我...[2021/11/29]
Spring5路径匹配器PathPattern解析
目录Spring5路径匹配器PathPattern1.PathPattern 只支持结尾部分使用 **2.PathPattern 支持使用例如 {*path}路径匹配工具(AntPathMatcher vs PathPattern) Spring5路径匹配器PathPattern
PathPat...[2021/11/24]
SpringCloud?微服务数据权限控制的实现
目录一、 整体架构二、 实现流程三、 实现步骤1. 注解实现2. 注解使用3. 实现AuthStoreSupplier4. 实现AuthQuerySupplier5. 开启数据权限四、 综述五、源代码 举个例子:
有一批业务员跟进全国的销售订单。他们被按城市进行划分,一个业务员跟进3个城市的订单...[2021/11/24]
Spring AOP的底层实现方式-代理模式
目录1.1 静态代理1.2 动态代理1.2.1 JDK动态代理(必须有接口)1.2.2 CGlib动态代理 在学习Spring的过程中,留下一下痕迹。
代理模式,其实就是让别人做同样的事情,但是别人却不仅将我的事情做了,还会把他的事情也做了,换言之,这个人做的事情,是他独有的事情和我需要做的事情...[2021/11/24]
spring?aop?Pointcut?execution规则介绍
目录spring aop Pointcut execution规则切面注解@Pointcut(“execution()“)写法 spring aop Pointcut execution规则
任意公共方法的执行:
execution(public * *(..))
##public...[2021/11/24]
解决Spring?AOP拦截抽象类(父类)中方法失效问题
目录背景原因分析解决方案后记 背景
最近工作中需要对组内各个系统依赖的第三方接口进行监控报警,对于下游出现问题的接口能够及时感知.首先我们写了一个Spring AOP注解,用于收集调用第三方时返回的信息.而我们调用第三方的类抽象出一个父类.并在父类的方法中加入我们的自定义注解用于监控日志并打印日...[2021/11/24]
shiro与spring?security用自定义异常处理401错误
目录shiro与spring security自定义异常处理401背景解决方案SpringBoot整合Shiro自定义filter报错No SecurityManager acce ible to the calling code...产生原因解决办法小结一下 shiro与spring securi...[2021/11/24]