
框架学习
我又不乱来aaa
这个作者很懒,什么都没留下…
展开
-
分布式锁和数据库事务在并发情况下的问题
分布式锁和数据库事务在并发情况下的问题模拟业务场景:@Transactional(rollbackFor = Exception)public Integer update(Integer id) { if (!redisTemplate.opsForValue().setIfAbsent("redis_key" + id,"yes",5, TimeUnit.SECONDS)){ return 0; } Entity entity = xxxDao.select原创 2021-11-16 17:50:40 · 982 阅读 · 0 评论 -
PageHelper使用返回的total固定为10
PageHelper使用分页固定只有一页数据库数据不只10条,分页查询后却只有一页:排查后发现:total始终返回10,导致了分页错误。排查后端业务代码发现在查询数据完毕后进行了数据的处理,导致原Collection对象发生改变List<xxEntity> list= xxDao.selectListForPage(query);list = list.stream().....collect(Collectors.toList());PageInfo<Complaint原创 2021-11-04 18:01:21 · 1315 阅读 · 0 评论 -
mysql高并发下配合redis的秒杀下单功能设计(方案一)
高并发下的秒杀功能设计(方案一)表结构CREATE TABLE `order_info` ( `order_id` bigint NOT NULL COMMENT '订单id', `order_type` tinyint NOT NULL DEFAULT '1' COMMENT '订单类型(1-普通订单,2-秒杀订单)', `goods_id` int NOT NULL COMMENT '商品id', `nums` int NOT NULL COMMENT '商品数量', `pric原创 2021-08-02 19:36:41 · 305 阅读 · 0 评论 -
npm安装
转载自:https://www.cnblogs.com/goldlong/p/8027997.html原创 2021-05-08 11:07:10 · 115 阅读 · 0 评论 -
spring中的循环依赖问题
spring中的循环依赖问题spring应用中,默认是有循环依赖的控制,场景:ServiceA、ServiceB、ServieC 多个bean互相依赖,形成闭环。spring默认使用三级缓存控制循环依赖的问题,但是前提是:bean不是以构造方法注入,单例bean(多例bean不被spring管理,只管创建)。spring3级缓存解决循环依赖:spring构建ServiceA时,发现依赖于ServiceB,于是先去构造ServiceB的bean,先使用构造方法实例化了一个ServiceA,然后原创 2021-04-14 17:27:51 · 162 阅读 · 0 评论 -
Redis分布式锁setNx防止用户重复提交请求。
Redis分布式锁setNx防止用户重复提交请求首先定义一个注解:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface UnRepeatSubmit { /** * 设置请求(key)的锁定时间,默认5秒钟 * @return */ int lockTime() default 5;}为了能够方便注解实现控制每个handler,提供注解,根据原创 2021-04-09 10:52:44 · 1246 阅读 · 4 评论 -
@RequestBody 传参时json转化的反序列化问题
@RequestBody 传参时json转化的反序列化问题com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.front.entity.FrontConfigs` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or pr原创 2021-04-06 15:23:56 · 933 阅读 · 0 评论 -
Redis通过代码删除相同前缀的key
Redis通过代码删除相同前缀的keyredisTemplate.delete(redisTemplate.keys(ConstantConfig.AUTH_USER_LIST + "*"));原创 2021-03-22 18:17:53 · 1099 阅读 · 0 评论 -
Spring的事务管理Transactional出现嵌套service事务情况
Spring的事务管理Transactional出现嵌套service事务情况@Service@Transactional(rollbackFor = Exception.class)public class AServiceImpl implement AService{ @Override public void a(){ ... }}@Service@Transactional(rollbackFor = Exception.class)原创 2021-02-23 15:33:09 · 1853 阅读 · 0 评论 -
seata1.4相关重要配置
TC端三个数据库表结构:CREATE TABLE `branch_table` ( `branch_id` bigint(20) NOT NULL, `xid` varchar(128) NOT NULL, `transaction_id` bigint(20) DEFAULT NULL, `resource_group_id` varchar(32) DEFAULT NULL, `resource_id` varchar(256) DEFAULT NULL, `lock_key`原创 2021-02-23 09:40:12 · 288 阅读 · 0 评论 -
springsecurity的登陆用户信息查询接口的校验或hasIpAddress()用法
springsecurity的登陆用户信息查询接口的校验或hasIpAddress()用法一般的微服务架构下,auth服务都是单独的只做token颁发和校验的模块,所以当在进行用户登录或其他操作的时候,都需要调用其他的服务进行用户信息的查询和密码比对。那么其他服务的这个接口的隐蔽性就会受到挑战。但是发现在springsecurity的权限控制当中,有一个方法很好用:hasIpAddress() @Value(value = "${auth.address}") private Str原创 2021-02-01 15:25:22 · 1820 阅读 · 0 评论 -
springcloud项目返回的数据格式为:application/xml
springcloud项目返回的数据格式为:application/xml,而非application/json使用springcloud搭建项目有可能会出现的问题。很多组件下面都有fastjson这个依赖,就会导致返回到前端的数据contant-type变成了"application/xml;charest=utf-8"。但是一般都是返回json格式的数据。所以需要排除这个依赖:jackson-dataformat-xml比如在sentinel中、还有就是spring-boot-starter-web原创 2021-02-01 11:32:40 · 933 阅读 · 0 评论 -
@PreAuthorize出现404&&because it is a JDK dynamic proxy that implements:
@PreAuthorize出现404&&because it is a JDK dynamic proxy that implements:because it is a JDK dynamic proxy that implements:一个已经被jdk动态代理后的类(如果他实现了一个接口),在进行依赖注入的时候会出现的问题。会导致这个类没法被其他类进行注入使用。@PreAuthorize出现404出现这个问题可能是因为你的controller实现了一个接口,比如接口上有@Feig原创 2021-02-01 10:33:49 · 304 阅读 · 0 评论 -
mybatis查询结果集有泛型属性时可能出现的问题。
mybatis查询结果集有泛型属性时可能出现的问题。问题:当接收结果为map或者对象的属性为泛型时:@Datapublic class GenericKeyValueVo<K,V> { private K key; private V value;}这时候如果直接将resultType指向对象全限定名称时,可能会出现问题。因为如果查询结果的某个字段大于1000会出现","如:1,000.56 。mybatis不会报错,因为这个对象的这个属性为泛型,可以接收。而原创 2021-01-08 16:51:36 · 1126 阅读 · 0 评论 -
框架学习_mybatis
mybatis原理剖析mybatis的整体结构、原理、组件等:mybatis运行总体流程: //1.Resources工具类,配置文件的加载,将配置文件加载成字节输入流 InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml"); //2.解析了配置文件,并创建了sqlSessionFatory对象原创 2020-10-14 14:28:53 · 189 阅读 · 0 评论 -
框架学习记录_DispatcherServlet实现过程
DispatcherServlet实现过程流程步骤:1.请求拦截:配置DispatcherServlet拦截前端请求,进入DispatcherServlet处理,DispatcherServlet继承HttpServlet,重写init、doPost、doGet方法。2.初始化://1.加载配置文件 springmvc.propertiesString contextConfigLocation = config.getInitParameter("contextConfigLocation");原创 2020-10-14 11:21:04 · 327 阅读 · 0 评论