Spring学习体会
文章平均质量分 85
记录一些自己在做项目时遇到的问题及解决办法,还有自己所理解的一些心得体会
狗二蛋的幸福生活
我亦无他,唯手熟尔
展开
-
基于Redis出现缓存击穿、缓存雪崩、缓存穿透的解决方案,基于Redis的分布式锁实现方法(超详细)
1. 缓存穿透缓存穿透 是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。常见的解决方案:缓存空对象优点: 实现简单,维护方便缺点: 1. 额外的内存消耗 2. 可能造成短期的不一致布隆过滤优点: 内存占用较少,没有多余Key缺点: 1. 实现复杂 2. 存在误判可能基于 缓存空对象 解决实例://解决 缓存穿透public Shop queryWithPassThrough(Long id) { String key = C原创 2022-05-25 21:25:58 · 1043 阅读 · 2 评论 -
面向切面编程SpringAOP(什么是AOP,AOP相关术语,JDK动态代理,CGLIB 代理,基于XML的声明式 AspectJ,基于注解的声明式 AspectJ)
1. 什么是AOPAOP,即面向切面编程,它是面向对象编程(OOP)的一种补充。在想重用一段代码的时候,传统的 OOP 思想是父子关系继承来达到纵向的代码重用,但是对于两个没有关系的对象重用一段代码,用 OOP 就难以实现了,AOP 也是为解决这种问题而应运而生,采取横向抽取机制,将分散在各个方法中的重复代码提取出来,然后在程序编译或运行时,再将这些提取出来的代码应用到需要执行的地方。2. AOP相关术语Aspect(切面):封装的用于横向插入系统功能的类,例如事务、日志等要插入系统功能,而封原创 2022-03-17 14:55:51 · 652 阅读 · 0 评论 -
SSM中jsp页面访问找不到问题(基于IDEA)/ SSM中配置文件对应关系及项目部署后各个文件所在位置
1. jsp页面访问不到,肯定是文件的路径不对,先看下target中部署到Tomcat打的包里jsp文件位置在哪只有jsp页面在如图所示位置才能被浏览器直接访问到当页面放在 WEB-INF 下面的时候,这是不能被浏览器直接访问到的,它是安全目录,不能被客户端访问,所以要想访问到WEB-INF下面的jsp页面,需要通过Servlet来 转发2. 检查下各个文件在项目中的位置是否正确,这直接影响到了最终生成的包正确的位置如图所示,我就是因为web放在了src外面,导致web里的页面始终访问不到,原创 2022-03-14 17:47:09 · 9112 阅读 · 1 评论 -
NewProxyPreparedStatement.isClosed()Z ; com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.isClosed
在实现 json 对象返回到后端并保存到数据库时,网页报了如下错误<body> <h1>HTTP状态 500 - 内部服务器错误</h1> <hr class="line" /> <p><b>类型</b> 异常报告</p> <p><b>消息</b> Handler dispatch failed; nested exception is java.lang.Abstr原创 2022-03-13 08:34:12 · 983 阅读 · 0 评论 -
Mybatis中关于自定义typeHandler的详细使用以及心得体会-超级详细
1. 什么是 typeHandlertypeHandler 是MyBatis框架集成的一个数据类型处理器,用于 java 数据类型 和 数据库类型 之间的互转,当然java对于数据库的操作需要jdbc,所以可以理解为 java数据类型 和 jdbc类型 之间的转换器,专业用词就是 javaType 与 jdbcType 之间的转换,可以见下表所示:2. typeHandler的隐式声明MyBatis 系统已经创建好所常用的 typeHandler。在大部分的情况下无须显式地声明 jdbcType 和原创 2022-03-12 14:33:11 · 3961 阅读 · 0 评论