
SpringBoot
文章平均质量分 88
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
「已注销」
这个作者很懒,什么都没留下…
展开
-
SpringBoot 实现图片防盗链功能
前言出于安全考虑,我们需要后端返回的图片只允许在某个网站内展示,不想被爬虫拿到图片地址后被下载。或者,不想浏览器直接访问图片链接。出于性能考虑,不想要别人的网站,拿着我们的图片链接去展示,白白消耗自己的服务器资源。故而可在springboot中,使用简单的图片防盗链规则。拦截掉一些处理。原创 2024-05-21 15:49:12 · 481 阅读 · 0 评论 -
Spring 在多线程环境下如何确保事务一致性
。原创 2024-05-20 14:10:42 · 1011 阅读 · 0 评论 -
SpringBoot 实现数据加密脱敏(注解 + 反射 + AOP)
傻瓜式编程不是说傻,而是相当于切入式编程,傻瓜式编程需要对用户信息相关的所有接口进行加密,解密脱敏的逻辑处理,这里改动的地方就比较多,风险高,重复操作相同的逻辑,工作量大,后期不好维护;切入式编程只需要对用户信息字段添加注解,对有注解的字段统一进行加密,解密脱敏逻辑处理,操作方便,高聚合,易维护;使用AOP,项目启动后,只要调用切入点对应的方法,就会根据切入点来形成一个切面,进行统一的逻辑增强;将项目中关于用户信息实体类的字段,比如姓名,手机号,身份证,地址等,在新增进数据库之前,对数据进行加密处理;原创 2024-05-18 21:10:04 · 670 阅读 · 0 评论 -
Spring Boot 如何设计一个通用的 Excel 导入导出功能?
以上是我对导出功能的思考和实现思路,因为篇幅的关系,我没有贴出完整的代码,但是相信以上内容已经足够大家作为参考,缺少的内容,比如列宽、颜色字体等设置,请查阅EasyExcel官方文档来实现,主要方式就是根据前端传过来的JSON配置信息,来动态配置EasyExcel的导出文件。,也没有分页查询参数,类似于当前页导出,在也只考虑一层包装类的情况下,没有额外的配置项,上面的已经足够了,要注意的就是代码里面得把分页参数剔除掉。批量保存的数量不能太多,要考虑系统和数据库的性能,比如每次读取500行就执行一次保存。原创 2024-05-17 11:49:20 · 3097 阅读 · 0 评论 -
Spring Boot 如何防护 XSS + SQL 注入攻击 ?终于懂了
这是因为mybatis启用了预编译功能,在sql执行前,会先将上面的sql发送给数据库进行编译,执行时,直接使用编译好的sql,替换占位符“?SQL注入攻击是最古老,最流行,最危险的Web应用程序漏洞之一。存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种“准备好”的方式不仅能提高安全性,而且在多次执行一个sql时,能够提高效率,原因是sql已编译好,再次执行时无需再编译。原创 2024-05-16 14:42:57 · 1561 阅读 · 0 评论 -
API 接口应该如何设计?如何保证安全?如何签名?如何防重?
在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃取)?除了https的协议之外,能不能加上通用的一套算法以及规范来保证传输的安全性呢?原创 2024-05-15 14:10:26 · 2190 阅读 · 0 评论 -
Spring Boot 全局异常处理
Spring Boot 的所有异常处理都基于 java 的。/*** 基于@ControllerAdvice注解的全局异常统一处理只能针对于Controller层的异常* 为了和Controller 区分 ,我们可以指定 annotations = RestController.class,那么在Controller中抛出的异常 这里就不会被捕捉* *//*** 处理所有的Controller层面的异常* */return map;原创 2024-05-13 13:40:28 · 3452 阅读 · 0 评论 -
SpringBoot 中实现订单30分钟自动取消的策略
当一个键过期时,onMessage方法会被调用,你可以在这里加入你的逻辑来处理订单的超时取消。利用Redis的键过期事件功能,当订单生成时在Redis中存储一个键,设置30分钟过期,键过期时通过Redis的过期事件通知功能触发订单取消操作。使用消息队列(如RabbitMQ)的延迟队列功能,当订单生成时将订单ID推送到延迟队列,设置30分钟后过期,过期后消费该消息,取消订单。在电商和其他涉及到在线支付的应用中,通常需要实现一个功能:如果用户在生成订单后的一定时间内未完成支付,系统将自动取消该订单。原创 2024-05-12 09:10:50 · 722 阅读 · 0 评论 -
SpringBoot 动态加载 jar 包,动态配置方案
目前数据治理服务中有众多治理任务,当其中任一治理任务有改动需要升级或新增一个治理任务时,都需要将数据治理服务重启,会影响其他治理任务的正常运行。原创 2024-05-11 14:36:12 · 591 阅读 · 0 评论 -
SpringBoot 集成支付宝支付
SpringBoot 集成支付宝支付原创 2024-05-11 14:17:39 · 2301 阅读 · 0 评论 -
SpringBoot 多数据源及事务解决方案
一个主库和N个应用库的数据源,并且会同时操作主库和应用库的数据,需要解决以下两个问题:如何动态管理多个数据源以及切换?如何保证多数据源场景下的数据一致性(事务)?原创 2024-05-11 11:58:33 · 1406 阅读 · 0 评论 -
Spring Boot 优雅实现多租户架构
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。具体来说,我们可以使用Spring Cloud的服务注册与发现组件Eureka来注册每个租户的实例,并在管理界面中进行相应的操作。私有云环境指的是由企业自行搭建的云环境,不对外提供服务,主要应用于企业内部的数据存储、管理、共享和安全控制。原创 2024-05-11 11:48:36 · 908 阅读 · 0 评论