首页 / 作者AUTHOR / SPRINGFORALL

hello

记录技术探索,分享实践心得。

共 1791 篇文章

Spring Boot整合策略模式

一、前言 策略模式可能是在工作中使用最多的,也是在面试中最常提到的,代码重构和优化的必备! 小编之前也是一直说,其实没有真正的实战;最近有了机会实战了一下,来分享一下使用心得和在企业级的使用! 二、策略模式 1. 什么是策略模式 策略模式,英文全称是 Strategy Design Pattern 。在 GoF 的《设计模式》一书中,它是这样定义的:…

如何优雅解析多层嵌套的复杂JSON数据

我们在平时开发中经常会涉及调用某个REST接口从而获取对应数据的情况,在这个过程中,返回的数据往往都是JSON数据,一般情况下,我们都会针对这些JSON数据定义对应实体类,从而获取我们需要的数据。这种方式对于结构简单的JSON数据是OK的,但是如果遇到下面这种多级嵌套的数据就比较蛋疼了: { "a1": { "b1": { "c1": { "d1":…

Spring Security实现单体架构下客户端管理端两种登录功能实现

解决目标 在单体架构下,同时容下客户端和管理端,通俗点就是一个项目单服务, 同时实现页面A(用户的登录)与页面B(管理员登录),跳转到对应不同的操作端。当然两种身份的用户他不能随意进入其他端,所以需要两种不同的令牌生成和验证。用户表拆分为两个:一个normal_user表,一个super_user表,而不是简简单一个表加权限字段。…

Spring Boot 引入线程池+Queue缓冲队列实现高并发下单业务

主要是自己在项目中(中小型项目) 有支付下单业务(只是办理VIP,没有涉及到商品库存),目前用户量还没有上来,目前没有出现问题,但是想到如果用户量变大,下单并发量变大,可能会出现一系列的问题,趁着空闲时间,做了这个demo测试相关问题。 可能遇到的问题如下: 订单重复 高并发下,性能变慢 解决方式: ThreadPoolExecutor 线程池 +…

Spring Boot 优雅地实现读写分离

一、读写分离介绍 当使用Spring Boot开发数据库应用时,读写分离是一种常见的优化策略。读写分离将读操作和写操作分别分配给不同的数据库实例,以提高系统的吞吐量和性能。 读写分离实现主要是通过动态数据源功能实现的,动态数据源是一种通过在运行时动态切换数据库连接的机制。它允许应用程序根据不同的条件或配置选择不同的数据源,以实现更灵活和可扩展的数据库访问。…