自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 收藏
  • 关注

原创 智慧社区:居民信息Excel导入数据库

本文介绍了Excel导入导出的技术实现方案。首先对比了5种技术选型:Apache POI(官方底层库)、EasyExcel(阿里流式方案)、Easy-POI(注解驱动)、JXL(轻量级旧版)和前后端协作方案,最终选择Apache POI实现。具体实现分为上传模板文件和导入数据两部分:上传时使用UUID重命名文件并保存到指定目录;导入时通过POI读取Excel数据到二维数组,验证小区信息后,将数据存入数据库。代码实现包括初始化POI对象、读取数据、验证导入等步骤,重点处理了数据格式转换和异常情况,确保数据准确

2026-01-12 23:03:09 1111

原创 eNSP中划分vlan

本文介绍了网络分层架构、冲突域与广播域的概念,以及集线器与交换机的区别。网络分为接入层(终端接入)、汇聚层(策略执行)和核心层(高速转发)。冲突域指信号冲突的范围,广播域指广播帧传播的范围。集线器是物理层设备,所有端口共享带宽;交换机是数据链路层设备,基于MAC地址转发,端口独享带宽。文章还介绍了VLAN配置实例和交换机接口的三种模式:Access(单一VLAN)、Trunk(多VLAN带标签)和Hybrid(灵活配置标签)。

2026-01-12 17:36:28 645

原创 Docker(C/S架构软件)

本文全面介绍Docker容器技术,包括其核心概念、优势及使用场景。Docker通过容器化实现应用及其依赖的打包部署,解决环境一致性问题。文章详细讲解Docker三要素(仓库、镜像、容器)、与虚拟机的区别、安装配置方法及常用命令。同时涵盖Dockerfile编写规范、镜像原理、数据卷管理,以及实战部署Tomcat、Nginx、MySQL等应用。最后介绍DockerCompose多容器编排工具,提供从单机到集群的完整容器化解决方案。

2026-01-03 22:56:11 1473

原创 智慧社区:调用腾讯云的人脸识别接口完成人脸采集的功能

随后回到接口方法,生成图片的访问路径faceUrl,然后存到数据库中,因为上传的图片和此处生成的图片名字都由faceId拼接,所以能够访问到,urlPrefix和savePath同理,都在yaml配置文件中配置。在进行完严谨性校验之后,如果启用了人脸识别功能,会调用personVal方法来调用工具类当中的添加人员的方法,执行成功之后会返回这个用户在人员库当中的id。person-id-pre:人员库当中人员id的前缀,我加上了user_,假如入库的人员id=9,那么这个人在我的人员库id就是user_9。

2025-12-30 22:41:14 1095

原创 SpringMVC的单文件上传

我们实现文件上传时使用到了MultipartFile,它是 Spring Framework 提供的一个接口,用于处理 HTTP 请求中的文件上传。它是 org.springframework.web.multipart 包的一部分。它的主要用途是接收客户端上传的文件,获取文件信息(名称、大小、类型等),将文件保存到服务器或处理文件内容等等。

2025-12-30 16:47:13 845

原创 Ollama在Windows11部署大模型

Ollama 是一个开源平台,让开发者能够在个人电脑上轻松运行、管理和部署大型语言模型。它将复杂的AI模型部署简化为几个简单的命令,实现了"AI民主化"——让每个人都能在本地享受大语言模型的能力。

2025-12-29 20:37:49 599

原创 RuoYi-Vue3的项目搭建

找到ruoyi-admin当中配置数据库的配置文件application-druid.yaml文件。项目初始化需要一点时间,等待右下角进度条完成即可。完成之后用vscode打开。

2025-12-29 15:11:18 312

原创 前后端分离项目在云服务器上的部署(Spring Boot + Vue)

这个命令可以让springboot项目在后台运行,并且日志产生到该目录下的nohup.out当中。修改vue.config.js当中的url:按照自己的ip和后端的springboot端口修改。运行完这行命令之后,会在/usr/local/目录产生一个nginx文件夹。命令执行无误之后会在项目根目录下生成target文件夹,jar包就在里面。在云服务器中创建目录:/usr/local/src/myLibrary/运行成功之后会在项目文件夹目录里面生成打包好的文件夹dist。

2025-12-28 17:51:19 872

原创 在云服务器上配置redis环境(OpenCloudOS)

官网的下载速度较慢,我在华为云镜像网站下载的redis包,根据自己的需要下载就行下载好之后移动到服务器里面并且解压:解压命令:tar -zxvf 文件名解压缩完进入文件夹。

2025-12-27 18:59:16 327

原创 Java的Stream流

Stream是一种高级迭代器,用于对数据源进行函数式操作。filter用于条件筛选sorted支持自然排序和自定义比较器limit和skip控制元素数量distinct依赖equals和hashCode实现去重map实现元素转换可合并多个流。

2025-12-18 17:14:09 730

原创 Java线程安全和同步

小明和小红是一对夫妻,他们有一个共同的账户,有余额十万块钱,有一天他们各自同时取了十万块钱。那谁能成功取到这十万呢?

2025-12-18 13:12:26 294

原创 线程的常用方法

不能手动设置为守护线程后再启动(setDaemon() 必须在 start() 前调用)子线程:"Thread-0", "Thread-1", ...interrupted():检查并清除中断标志(静态方法)isInterrupted():检查中断标志。可以在任何地方调用,获取当前执行环境的线程。不会释放锁:如果持有锁,休眠期间仍然持有。当所有用户线程结束时,守护线程自动结束。interrupt():设置中断标志。静态方法:让当前线程休眠指定时间。主线程结束后,守护线程会自动结束。

2025-12-17 23:04:50 719

原创 Java线程的三种创建方式

Callable实现类 → FutureTask包装 → Thread包装 → start()启动 → get()获取结果。start() 会启动新线程,同时调用 run() 方法。直接调用 run() 只会普通方法调用,不会创建新线程。启动方式:创建对象后调用 start() 方法。run() 方法没有返回值,不能抛出检查异常。阻塞获取:get() 方法会等待线程执行完成。重写方法:必须实现 call() 方法。重写方法:必须重写 run() 方法。重写方法:必须实现 run() 方法。

2025-12-17 22:21:16 327

原创 SpringAOP的介绍和入门

什么是AOP的技术?在软件业,AOP为AspectOrientedProgramming的缩写,意为:面向切面编程,AOP是一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构AOP最早由AOP联盟的组织提出的,制定了一套规范.Spring将AOP思想引入到框架中,必须遵守AOP联盟的规范SpringAOP是通过预编译方式或者运行期动态代理实现程序功能的统一维护的一种技术AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。

2025-12-15 15:12:41 1021

原创 SpringIOC的注解开发

我们在实现类上面加了@Component注解,它的作用是把当前类使用IOC容器进行管理,value指定Bean的名称,如果没有指定名称,默认使用当前类名userServiceImpl。纯注解的方式是微服务架构开发的主要方式,所以也是非常的重要。但是需要编写配置类。@Import注解Spring的配置文件可以分成多个配置的,编写多个配置类。@Bean注解只能写在方法上,表明使用此方法创建一个对象,对象创建完成保 存到IOC容器中。@Qualifier和@Autowired一起使用,强制使用名称注入 ​。

2025-12-13 22:46:41 1007

原创 Spring的DI依赖注入(配置文件方式)

测试代码首先读取配置文件(第一行代码),获取到了orderServiceImpl这个Bean(第二行代码),最后调用对象的saveOrder方法。通过无参构造方法创建OrderServiceImpl实例,再通过setOrderDao、setMsg和setAge方法来获取值,也就是依赖注入。DI:DependencyInjection,依赖注入,在Spring框架负责创建Bean对象时, 动态的将依赖对象注入到Bean组件中。然后创建OrderServiceImpl。新建CollectionBean类。

2025-12-12 22:40:35 706

原创 Spring的Bean

在 Spring 中,构成应用程序主干并由 Spring IoC 容器管理的对象称为 bean。bean 是由Spring IoC 容器实例化、组装和管理的对象。

2025-12-12 16:24:18 723

原创 Spring框架的介绍和IoC入门

Spring 是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的 松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由RodJohnson创建。简单来说,Spring 是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

2025-12-12 15:45:09 950

原创 SpringBeanFactory

XmlBeanDefinitionReader:用于读取 XML 格式的 Bean 配置文件,并将配置信息加载到 Bean 工厂中。DefaultListableBeanFactory:Spring 的核心 Bean 工厂,负责创建和管理 Bean 实例。通过读取器加载bean.xml配置,将userDao和userService的 Bean 定义注册到工厂中。创建UserService和它的实现类UserServiceImpl。从工厂中获取 id 为userService的 Bean 实例。

2025-12-11 20:25:32 395

原创 SpringBoot+Vue项目创建

最近学到了Vue,但是刚开始对于项目的创建一头雾水,所以写了这个笔记,以免在之后的学习无从下手。

2025-12-08 23:04:52 411

原创 vue目录文件夹的作用

运行npm run build:prod时,会产生/dist目录(生产环境打包结果),然后运行npm run preview会执行 build/index.js,启动一个本地服务器来预览 dist/ 目录中的内容。如:node_modules/, dist/, .env.local 等。.eslintignore - 忽略检查的文件/目录。.env.development - 开发环境配置。.env.production - 生产环境配置。.env.staging - 预发布环境配置。

2025-12-08 15:17:32 864

原创 Node.js的安装

在node.js官网选择安装包我用的是16版本。

2025-12-08 14:02:56 231

原创 MybatisPlus配置多数据源

mybatis_plus表当中有productmybatis_plus1表中有user。

2025-11-30 19:11:05 226

原创 MybatisPlus的代码生成器

AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。代码生成器 | MyBatis-Plus。

2025-11-30 16:46:39 293

原创 MyBatisPlus乐观锁和悲观锁

一件商品,成本价是80元,售价是100元。老板先是通知小李,说你去把商品价格增加50元。小 李正在玩游戏,耽搁了一个小时。正好一个小时后,老板觉得商品价格增加到150元,价格太高,可能会影响销量。又通知小王,你把商品价格降低30元。此时,小李和小王同时操作商品后台系统。小李操作的时候,系统先取出商品价格100元;小王 也在操作,取出的商品价格也是100元。小李将价格加了50元,并将100+50=150元存入了数据 库;小王将商品减了30元,并将100-30=70元存入了数据库。

2025-11-30 12:55:23 769

原创 MyBatisPlus条件构造器

Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件QueryWrapper : 查询条件封装UpdateWrapper : Update 条件封装AbstractLambdaWrapper : 使用Lambda 语法LambdaQueryWrapper :用于Lambda语法使用的查询WrapperLambdaUpdateWrapper : Lambda 更新封装Wrapper2、

2025-11-30 12:40:19 267

原创 MybatisPlus常用注解

TableName我们在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在 Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表 所以MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决定,且默认操作的表名和实体类型的类名一致如果我们的实体类类名和我们要操作的表面不一致会发生什么?

2025-11-29 23:10:57 679

原创 MyBatis-Plus当中BaseMapper接口的增删查改操作

入门案例当中的“查询所有”调用的是BaseMapper当中的selectList,接下来我们从增删查改来了解BaseMapper接口当中的方法。

2025-11-23 22:39:00 719

原创 Mybatis-Plus入门

是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。可以查看官方文档。

2025-11-23 15:33:22 275

原创 SpringBoot的内嵌和外置tomcat

setUrlPatterns(Arrays.asList("/hello", "/myServlet")):指定拦截路径。创建 ServletRegistrationBean,将Servlet映射到 /myServlet 路径。效果:访问 http://localhost:8080/myServlet 会调用 MyServlet。效果:访问 /hello 或 /myServlet 时,会先经过 MyFilter。访问地址变为:http://localhost:8081/tx。包:启动服务器,服务器启动。

2025-11-18 16:35:44 953

原创 Springboot扩展springmvc

在实际开发中springboot并非完全自动化,很多跟业务相关我们需要自己扩展,springboot给我提供了接口。我们可以来通过实现WebMvcConfigurer接口来扩展。1.

2025-11-18 15:28:14 798

原创 SpringBoot对SpringMVC的整合

在Springboot的主启动类当中,有@SpringBootApplication注解,里面有@ComponentScan注解,在之前自动装配的时候说过:@ComponentScan 会扫描主启动类所在包及其子包,包括:@Controller,@Service,@Repository,@Component等其他Spring组件。在springboot项目当中,中央转发器被springboot自动接管,不再需要我们在web.xml中配置。如图:(注意不能在resource目录下创建,后续debug时会说)

2025-11-17 22:08:54 918

原创 thymeleaf语法

Thymeleaf 是一个现代化的服务器端 Java 模板引擎,主要用于构建 Web 应用程序中的视图层。它与 Spring Boot 完美集成,支持 HTML5,并且允许你在浏览器中直接查看静态原型,同时在服务器端渲染动态数据。

2025-11-16 17:52:11 781

原创 Shell的基本语法

name="张三" # 定义变量,等号两边不能有空格age=20echo $name # 使用变量:$变量名echo ${name} # 推荐使用大括号。

2025-11-07 17:12:48 174

原创 使用docker-compose启动springboot

因为我们已经在docker-compose里面进行了挂载,所以Dockerfile里面的ADD指令可以去掉。注意Dockfile尽量和docker-compose在同一级目录下,便于管理。运行前记得把有关的在运行的容器删除,否则是删不了镜像的。在test目录下创建脚本vi build.sh。

2025-11-07 17:08:48 179

原创 CentOS7使用Docker部署SpringBoot项目

把openjdk8的镜像包传到服务器中然后使用docker load -i jdk.tar命令装载镜像装载成功后运行docker run openjdk:8然后可以用docker ps -a查看所有在运行的容器。

2025-11-06 12:56:59 341

原创 SpringBoot配置文件注入值

想让person.properties生效的话,要先把application.yaml文件中有关person的配置去掉,因为application.yaml读取优先级更高,想让Spring的配置文件生效,我们可以在配置类上使用@ImportResource注解。不会转义字符串里面的特殊字符;只要是左对齐的一列数据,都是同一个层级的。会转义特殊字符,特殊字符最终只是一个普通的字符串数据。:在下一行来写对象的属性和值的关系;字面量:普通的值(数字,字符串,布尔)高优先级的配置会覆盖低优先级的配置。

2025-11-04 14:26:42 906

原创 CentOS7安装Docker和Mysql

主机用服务器的ip,端口写容器映射到主机的端口23306(这里的主机指的是服务器也就是我们的虚拟机CentOS7,不是我们本地的电脑),然后用户名和密码使用我们刚才设置的test和123456,也可以使用testuser和testpass。可以看到mysql:tag这样的属性,和maven有些类似,这个是mysql的镜像坐标:mysql是软件名称,tag是它的版本。这种方式的成功率不高,因为docker的默认源在国外,通常会因为网络问题安装失败。端口映射:将主机的23306端口映射到容器的3306端口。

2025-11-03 21:59:18 595

原创 CentOS7连接shell工具

进入到CentOS7桌面,右击桌面,打开终端:输入ifconfig,我们看到ens33部分没有显示inet,可能是虚拟机网络设置或者是配置文件的问题。

2025-11-03 21:10:12 291

原创 VMware安装CentOS7操作系统

随后自定义硬件--->映像文件,找到我们下载的centOS7.iso文件。选择第一个“Install CentOS7”配置配置项:选择GNOME桌面和自动分区。编辑名称和虚拟机所在位置。配置好root密码和用户。随后等待安装完成即可。

2025-11-02 21:56:23 148

空空如也

空空如也

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

TA关注的人

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