自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 问答 (8)
  • 收藏
  • 关注

原创 Java项目实现RBAC基于角色的访问控制(以银行项目为例)

摘要: RBAC(基于角色的访问控制)是行业主流的权限设计模型,通过在用户和权限之间引入角色层实现高效管理。其核心思想是将权限绑定到角色,用户通过分配角色间接获得权限,解决了传统"用户-权限"直连的维护难题。RBAC包含四个递进版本:基础版(RBAC0)、角色继承版(RBAC1)、角色约束版(RBAC2)和综合版(RBAC3),其中RBAC3是金融项目的标配,支持角色继承和合规约束。银行项目要求实现菜单、按钮、接口三级权限管控,并扩展数据权限。特殊要求包括金融合规性、权限最小化、双重防越

2026-01-10 14:22:47 741

原创 Java完整实现 MinIO 对象存储搭建+封装全套公共方法+断点上传功能

本文详细介绍了如何完整搭建MinIO对象存储环境,并提供SpringBoot项目集成MinIO的全套解决方案。主要内容包括:MinIO的4种部署方式(推荐Docker)、SpringBoot核心依赖配置、MinIO客户端注入,以及重点封装的生产级工具类。该工具类实现了文件上传/下载/预览/删除等基础功能,特别实现了大文件断点续传(分片上传)功能,解决文件过大导致的超时问题。所有代码完整可运行,包含异常处理、参数校验等生产级特性,可直接集成到项目中。

2026-01-10 12:57:32 687

原创 Java开发OCR(自动识别图片中的文字)Tesseract-OCR + Tess4J 和 百度智能云OCR API

本文介绍了两种Java OCR文本识别方案:本地离线OCR(Tesseract+Tess4J)和在线云API(百度智能云)。本地方案无需网络、零调用费用,适合内网/批量处理场景;云API方案识别准确率高,但依赖网络且有调用限制。文章详细提供了两种方案的实现步骤:包括环境配置、Java代码示例(支持图片文件和流处理)、路径设置等关键说明,并对比了各自的优缺点,开发者可根据项目需求选择适合的方案。

2026-01-10 12:40:17 951

原创 MySQL索引和其底层数据结构介绍

MySQL索引和其底层数据结构介绍

2025-02-13 19:45:24 1135

原创 Spring缓存注解@Cacheable详细介绍和实际使用案例

@Cacheable注解的介绍和在Spring项目中的应用。

2025-01-20 15:26:30 3375

原创 Java线程详解

Java线程详解

2025-01-14 16:16:28 1310

原创 MyBatis基础和代码具体示例

MyBatis基础和代码使用示例。

2025-01-14 14:52:09 1405

原创 Spring的IoC和AOP详解和在实际开发中的应用

Spring中IoC和AOP的详解和其实际应用场景

2025-01-13 19:05:01 1306

原创 Spring Boot自动装配代码详解

Spring Boot 自动装配是其核心特性之一,它能够根据项目中添加的依赖自动配置 Spring 应用程序。通过自动装配,开发人员可以减少大量的配置工作,快速搭建起一个可用的 Spring 应用。

2025-01-04 17:20:09 1109

原创 ArrayList 源码精读

jdk1.8的ArrayList 源码深入解析。

2025-01-04 15:23:43 826

原创 基于轻量级模型YOLOX-Nano的菜品识别系统

YOLOX是一个在2021年被旷视科技公司提出的高性能且无锚框(Anchor-free)的检测器,在YOLO系列的基础上吸收近年来目标检测学术界的最新成果,如解耦头(Decoupled Head)、数据增强、无锚框、标签分配策略SimOTA(Simplified Optimal Transport Assignment)等等。同时YOLOX继承了YOLO系列容易部署的特点,提供了支持ONNX、TensorRT、ncnn和Openvino的部署版本。

2024-02-08 22:18:00 2550 1

原创 智慧自助餐饮系统(SpringBoot+MP+Vue+微信小程序+JNI+ncnn+YOLOX-Nano)

本项目是配合智慧自助餐厅下的一套综合系统,该系统分为安卓端、微信小程序用户端以及后台管理系统。安卓端利用图像识别技术进行识别多种不同菜品,识别成功后安卓端显示该订单菜品以及价格并且生成进入小程序的二维码,用户扫描后在小程序进行付款和提交订单,用户也可查看订单和菜品等信息,管理员在 Web 后台管理系统进行信息查看餐厅运营情况和管理菜品、订单评价等信息。

2024-02-08 01:03:48 8736 6

原创 Java字符串将数据库字段改成驼峰字段

Java字符串将数据库字段改成驼峰字段

2023-09-19 09:34:28 856

原创 大数据课程综合实验案例---课设问题汇总

大数据课设问题汇总

2023-07-25 18:23:55 2276 1

原创 启动RabbitMQ服务以及基本使用

启动RabbitMQ服务以及基本使用

2023-03-18 15:11:34 1350

原创 在vue项目中配置axios工具类

在vue项目中配置axios工具类

2023-03-12 17:09:01 636

原创 Java过滤器配置类导致跨域问题:Request header field token is not allowed by Access-Control-Allow-Headers in prefli

Java过滤器配置类导致跨域问题:Request header field token is not allowed by Access-Control-Allow-Headers in prefli

2023-03-04 21:26:05 2679

原创 Spring Security配置类导致跨域问题:doesn‘t pass access control check: It does not have HTTP ok status.

Spring Security配置类导致跨域Access to XMLHttpRequest at 'http://localhost:8081/restaurant/list' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

2023-03-04 21:04:22 1505

原创 快速排序的描述以及两种实现方案

快排描述以及两种实现方案。

2023-02-19 16:22:18 767

原创 Java线程池的创建以及原理

在外面的日常开发中,也使用了不少池化技术,比如线程池、数据库连接池、HTTP连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。

2023-02-19 16:05:24 629

原创 SSO单点登录实例详解(前端传Code授权登录)

SSO单点登录以及单点登录流程详解

2023-01-08 20:11:31 3767

原创 JWT的组成以及工作原理

JWT的组成以及工作原理

2023-01-03 17:29:26 1142

原创 Linux防火墙端口号命令

Linux防火墙端口号命令

2022-10-08 10:59:10 794

原创 Java递归遍历JSON的N叉树数据结构

Java遍历JSON的N叉树数据结构

2022-08-15 12:19:47 1606

原创 Java中的ArrayList和LinkedList的区别

Java中的ArrayList和LinkedList的区别

2022-07-31 22:03:26 642

原创 Java和Vue项目打包并进行服务器部署

两周前我刚刚入职实习的时候,后端的几个同事看到我需要学习如何把项目进行部署,都围过来教我怎么部署,我感觉学习到了很多,因此,记录一下学习的笔记。当然了,这些部署是建立在已经配置好tomcat(后端服务器)和nginx(前端服务器)的基础之上的,因为公司之前已经做好了,我只需要迭代即可。...

2022-07-19 18:04:05 3741 2

原创 Caused by: java.io.IOException: The temporary upload location [......] is not valid

Caused by: java.io.IOException: The temporary upload location [......] is not valid

2022-07-14 17:25:00 802

原创 IDEA连接远程服务器Tomcat进行Debug调试

IDEA连接远程服务器Tomcat进行Debug调试

2022-07-14 09:34:42 3664

原创 哔哩哔哩(上海)开发实习生(Java方向)面试复盘和答案总结

上海B站Java开发实习生面试题汇总

2022-07-03 00:33:44 1632 3

原创 Linux基本命令学习和演示

学习Linux命令是服务端开发所必须的,因此我们平时应该多总结这些Linux命令来巩固这些知识。

2022-06-16 17:16:37 430

原创 TCP连接的三报文握手和四报文挥手过程详解

TCP连接的三报文握手和四报文挥手过程详解

2022-06-15 22:35:19 5354

原创 MySQL数据库基础命令及小案例

MySQL数据库基础命令以及小案例

2022-06-15 20:41:02 326

原创 CentOS搭建MySQL环境问题总结

CentOS搭建MySQL环境问题总结

2022-06-15 17:57:51 783

原创 MyBatis查询报错:java.sql.SQLSyntaxErrorException: Unknown column ‘xxx_xxx_xxx‘ in ‘field list‘

MyBatis-Plus查询报错:java.sql.SQLSyntaxErrorException: Unknown column 'xxx_xxx_xxx' in 'field list'

2022-06-02 17:07:41 2398

原创 TCP协议和UDP协议的对比

TCP/IP体系结构是计算机网络的基础,那么TCP和UDP协议有什么区别呢?

2022-05-21 11:15:14 4371

原创 线程、进程、多线程和并发知识汇总

一、线程线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程。同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。一个进程可以有很多线程,每条线程并行执行不同的任务。在多核或多CPU,或支持Hyper-threading的CPU上使用多线程程序设计的好处是显而易见,即提高了程序的执行吞吐率。二、进程是什么进程(Process)是计算

2022-05-04 16:22:43 357

原创 MySQL插入中文数据时报错:Incorrect string value: ‘\xC8\xFD\xCC\xE5‘ 解决方案

最近在使用MySQL数据库的客户端来操作数据库的时候,我直接打开我电脑搜索里面的MySQL客户端来打开:结果直接在我插入中文数据的时候报错了:Incorrect string value: '\xC8\xFD\xCC\xE5' for column 'name' at row 1于是我在网上找了这个错误的解决方案,我发现需要修改MySQL的配置文件来修改字符编码:比如这个教程:https://blog.csdn.net/u013317172/article/details/82778785于

2022-04-26 16:30:11 2356

原创 SpringBoot整合MyBatis-Plus(MP)总结

在MyBatis-Plus(MP)技术出现之前,我们依旧需要自己写SQL语句来实现DAO层,但是MP技术出现之后,我们只需要在创建实体类的基础上使用MP来实现DAO层,加上SpringBoot可以很简单创建接口,使得Java后端开发变得非常简单。虽然在我学习的过程中,感觉MP技术很简单,但我真正动手去实现的时候,也出现了不少的问题,甚至让我卡了挺久,这让我明白了理论和实践相结合是一件非常重要的事情。

2022-04-17 21:54:36 9581

原创 C++标准库使用

标准库的数据结构stack#include<iostream>#include<stack>using namespace std;int main() { stack<int> s; s.push(3); s.push(7); s.push(1); cout << s.size() << endl; cout << s.top() << " "; s.pop(); cout <&

2022-04-01 19:58:04 561

原创 初等排序算法(图解+代码)

插入排序法输入示例:65 2 4 6 1 3输出示例:5 2 4 6 1 32 5 4 6 1 32 4 5 6 1 32 4 5 6 1 31 2 4 5 6 31 2 3 4 5 6#include<stdio.h>// 按照顺序输出数组元素void trace(int A[], int N){ int i; for(i = 0; i < N; i++){ // 在相邻元素直接输出一个空格 if(i > 0){ printf(

2022-03-12 21:48:59 1604

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除