- 博客(76)
- 收藏
- 关注
原创 【SpringBoot】31 Session + Redis 实战
org.springframework.data.redis.serializer.JdkSerializationRedisSerializer ,默认情况下,RedisTemplate 使用该数据列化方式。RedisTemplate#afterPropertiesSet() 方法,在 RedisTemplate 未设置序列化的情况下,使用 JdkSerializationRedisSerializer 作为序列化实现。
2024-12-10 10:33:25
1502
1
原创 【SpringBoot】30 Cookie、Session、Token
Cookie 是 Http 状态保持在客户端的会话技术,是一段可以用来标识用户身份的数据,由服务端生成发送给客户端,以文本的形式保存在客户端,客户端每次向服务端发送请求时都需要携带该 Cookie,使服务端能够识别这些请求都是来自同一客户端,从而使这些请求之间可以数据共享。1)客户端:用户首次登录(如使用账号密码),发送登录请求2)服务端:接收登录请求,校验登录信息,校验通过返回 Cookie,校验失败返回登录错误信息3)客户端:登录成功,之后每次发送请求都携带该 Cookie,
2024-12-06 10:23:38
1188
1
原创 【SpringBoot】29 基于HttpClient的Http工具类
Http 协议是 Internet 上使用的最多、最重要的协议之一,越来越多的 Java 应用程序需要直接通过 Http 协议来访问网络资源。虽然在 JDK 的 java net 包中已经提供了访问 Http 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包
2024-12-03 11:44:43
1952
1
原创 【SpringBoot】28 API接口防刷(Redis + 拦截器)
常用的 API 安全措施包括:防火墙、验证码、鉴权、IP限制、数据加密、限流、监控、网关等,以确保接口的安全性。
2024-11-26 11:00:45
1460
3
原创 【SpringBoot】27 拦截器
拦截器:拦截器是 Spring 框架提供的核心功能之一,主要用来拦截用户请求,在指定方法前后,根据业务需要执行预先设定的代码。拦截器允许开发人员提前预定义一些逻辑,在用户请求、响应前后执行。也可以在用户请求前阻止其执行。在拦截器中,开发人员可以在应用程序中做一些通用性的操作,比如通过拦截器来拦截前端发送的请求,判断 Session 中是否有登录用户的信息,如果有则放行,没有则进行拦截。
2024-11-21 09:53:55
430
1
原创 【SpringBoot】26 实体映射工具(MapStruct)
为了让应用程序的代码更易于维护,通常会将项目进行分层。在《阿里巴巴 Java 开发手册》中,推荐分层如下图所示:每层都有对应的领域模型,即不同类型的 Bean。
2024-11-19 16:09:19
974
1
原创 【SpringBoot】25 减少Java代码的冗余和代码样板(Lombok)
Lombok(Project Lombok)是一个用于 Java 编程语言的开源库,旨在减少 Java 代码的冗余和样板代码,通过使用注解自动生成一些常用的代码,如 Getter、Setter方法、构造方法、toString方法等,减少开发人员的手动编码工作,提高开发人员的生产力。
2024-11-18 10:13:05
668
1
原创 【SpringBoot】24 热部署(devtools)
在日常的开发过程中,经常需要修改代码,重启项目,再进行查看修改后的效果。项目比较小的时候,重启的的比较快,等待时间短;后续项目功能扩增,项目越来越大,重启项目也越来越慢。这个时候热部署就起到了很大的作用。热部署:一种在应用程序运行时重新加载代码的技术,而无需重启服务器。这就意味着开发者可以在不中断服务的情况下更新和修改应用程序,从而提高开发效率和减少部署的时间。热部署的实现通常依赖于应用程序服务器的功能,如 Tomcat、JBoss。
2024-11-15 09:45:09
484
1
原创 【SpringBoot】23 文件预览(kkFileView)
文件预览功能是指在不打开或编辑文件的情况下,通过某种方式查看文件的内容、格式或者部分内容的功能。该功能通常用于文件管理系统、办公工具、在线教育平台、企业协作平台、电子邮件客户端等领域,能够提高用户体验,节省带宽和存储空间,并保护知识产权。今天推荐一个用 SpringBoot 搭建的文档在线预览解决方案:kkFileView。
2024-11-14 11:07:59
1115
1
原创 【SpringBoot】22 Txt、Csv文件的读取和写入
CSV(逗号分隔值,Comma-Separated Values,又称字符分隔值),文件以纯文本形式存储表格数据。
2024-11-13 10:08:19
893
1
原创 【SpringBoot】21 @Async异步任务线程池的隔离
线程池隔离:指一种通过为每个服务提供独立的线程池来隔离服务之间的资源和执行环境的做法。为什么需要线程池隔离?资源隔离,每个服务都有独立的线程池,可以避免由于某个服务的异常或高负载导致整个系统的线程资源耗尽。性能隔离,通过线程池隔离,可以更好地控制每个服务的并发度和资源利用率,提高系统的性能和稳定性。故障隔离,当一个服务发生故障时,独立的线程池可以使故障不会传播到其他服务,从而增强系统的容错性。实现线程池隔离的方式使用线程池,为每个服务或功能模块创建独立的线程池。
2024-11-12 09:48:48
436
1
原创 【SpringBoot】20 同步调用、异步调用、异步回调
同步调用:指程序在执行时,调用方需要等待函数调用返回结果后,才能继续执行下一步操作,是一种阻塞式调用。异步调用:指程序在执行时,调用方在调用函数后立即返回,不需要等待函数调用返回结果,可以直接执行下一步操作,当函数执行完成后,会通过回调或其他方式通知调用方,得到返回结果。回调:在调用一个函数后,需要在函数执行中或执行后,将执行结果或状态返回给调用者。当我们用异步调用或异步回调进行并发操作时,加速了任务的执行效率,但是如果只是直接简单的创建来使用,可能会碰到一些问题和风险。
2024-11-11 10:10:12
1545
1
原创 【SpringBoot】19 文件/图片下载(MySQL + Thymeleaf)
从 MySQL 中,下载保存的 blob 格式的图片、txt等文件。
2024-11-08 10:44:29
638
1
原创 【SpringBoot】18 上传文件到数据库(Thymeleaf + MySQL)
使用 Thymeleaf 写的页面,将(txt、jpg、png)格式文件上传到 MySQL 数据库中。
2024-11-07 14:37:22
882
1
原创 【SpringBoot】17 多文件上传(Thymeleaf + MySQL)
文件上传是指将本地的图片、视频、音频等文件上传到服务器,供其他用户浏览下载的过程,文件上传在日常项目中用的非常广泛。
2024-10-18 11:36:39
445
3
原创 【SpringBoot】16 文件上传(Thymeleaf + MySQL)
文件上传是指将本地的图片、视频、音频等文件上传到服务器,供其他用户浏览下载的过程,文件上传在日常项目中用的非常广泛。
2024-10-17 11:44:03
382
1
原创 【SpringBoot】15 Echarts+Thymeleaf 绘制各种图表
ECharts是百度开源的一个前端组件。它是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
2024-10-16 11:39:56
1298
1
原创 【SpringBoot】14 缓存(cache)
Spring 框架支持透明地向应用程序添加缓存对缓存进行管理,其管理缓存的核心是将缓存应用于操作数据的方法(包括增删查改等),从而减少操作数据的执行次数(主要是查询,直接从缓存中读取数据),同时不会对程序本身造成任何干扰。SpringBoot 继承了 Spring 框架的缓存管理功能,通过使用 @EnableCaching 注解开启基于注解的缓存支持,SpringBoot 就可以启动缓存管理的自动化配置。@EnableCaching:通常配置在项目启动类,表示开启缓存功能。
2024-10-16 10:50:06
543
1
原创 【SpringBoot】13 XML格式的请求和响应
可扩展标记语言 (Extensible Markup Language, XML) ,标准通用标记语言的子集,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML是标准通用标记语言 可扩展性良好,内容与形式分离,遵循严格的语法要求,保值性良好等优点。日常开发中,经常会用到Json格式和Xml格式的请求和响应处理,那xml格式的应该如何处理呢?
2024-10-15 14:21:09
909
1
原创 【SpringBoot】12 Json数据校验
Json(JavaScript Object Notation,JavaScript对象表示法)是基于ECMAScript的应该子集设计的,是一种开放标准的文件格式和数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。JSON独立于语言设计,很多编程语言都支持JSON格式的数据交换。JSON是一种常用的数据格式,在电子数据交换中有多种用途,包括与服务器之间的Web应用程序的数据交换。其简洁和清晰的层次结构有效地提升了网络传输效率,使其成为理想的数据交换语言。其文件通常使用扩展名.json。
2024-10-14 16:19:24
667
1
原创 【SpringBoot】11 多数据源(MyBatis:dynamic-datasource)
多数据源支持,可以连接多个数据库,MySQL,Oracle,PostgreSQL等。
2024-08-22 10:12:40
1359
1
原创 【SpringBoot】10 日志持久化(log4j2)
介绍日志的分类,日志门面和日志实现。将SpringBoot默认的Logback日志实现框架替换为Log4j2,并实现日志的持久化,按时间或日志文件大小切分日志文件,并归档入当天的目录中。
2024-08-20 00:21:59
1056
2
原创 【SpringBoot】7 数据库(MySQL&MyBatis)
MySQL,SpringBoot,MyBatis,MyBatisPlus,thymeleaf
2024-07-27 11:25:14
2628
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人