- 博客(87)
- 收藏
- 关注
原创 @NotBlank与@NotEmpty注解无法导入
摘要:解决@NotBlank注解导入问题需检查依赖配置和正确使用方式。确保添加spring-boot-starter-validation依赖(Spring Boot 2.3+需手动引入),导入javax.validation.constraints.NotBlank包而非废弃的Hibernate包。使用时需在Controller类添加@Validated注解,方法参数前加@Valid注解,嵌套对象需递归校验。注意AOP代理处理和验证模块初始化,问题未解决时可检查IDE缓存或错误日志。
2025-12-14 13:01:33
153
原创 mybatis-plus和springboot项目错误记录
摘要:数据库报错是由于将表主键从"id"改为"uid"导致插入数据时缺少默认值。解决方案是在User实体类中使用@TableId注解指定uid为主键字段,确保MyBatisPlus能正确映射。修改后的User类包含uid、name、age和email属性,通过@Data注解简化了getter/setter方法。该问题属于字段映射配置错误,通过明确主键映射关系即可解决数据插入时的完整性约束异常。
2025-12-07 21:04:45
192
原创 Maven学习记录
Maven中央仓库(MVNRepository)是管理Java依赖的常用平台,可快速生成JUnit等库的版本配置。若下载速度慢,建议将默认中央仓库替换为阿里云镜像,方法是在Maven的settings.xml中配置阿里云仓库地址(https://maven.aliyun.com/repository/public)。这能显著提升依赖下载速度,特别适合国内开发者。配置时需注意保留必要的官方仓库以确保依赖完整性。
2025-12-04 23:27:58
269
原创 MyBatis学习错误解决方式--MySQL客户端不支持服务器请求的身份验证协议
MySQL客户端身份验证协议不兼容问题通常由MySQL 8.0+默认使用caching_sha2_password插件导致。主要解决方案包括:1)升级JDBC驱动至8.0+版本;2)修改用户认证方式为mysql_native_password;3)检查连接URL是否包含时区参数。需注意驱动版本兼容性,修改认证方式可能影响安全性,同时要确保XML配置正确。解决步骤包括清理项目缓存、重启应用测试。这些方法可有效解决MySQLNonTransientConnectionException错误。(149字)
2025-12-04 23:22:51
232
原创 android通过SharedPreferences保存共享数据之后,怎么打开设备文件查看保存的数据,并取出保存的数据
本文介绍了Android开发中两个核心功能实现:1)通过DeviceExplorer工具窗口访问设备文件系统,支持文件/目录的创建、上传、删除等操作;2)数据存储的实现方式,包括使用SharedPreferences存储键值对数据(如用户信息),以及SQLite数据库的创建与删除操作。代码示例展示了如何通过SharedPreferences保存和读取用户数据,以及通过openOrCreateDatabase()和deleteDatabase()方法管理SQLite数据库文件。布局文件activity_dat
2025-11-22 18:20:57
301
原创 spring6学习笔记
Spring框架核心概念与实践 摘要:Spring是一个主流的JavaEE轻量级开源框架,旨在简化企业级应用开发。其核心包括IoC(控制反转)和AOP(面向切面编程)两大特性。IoC容器通过依赖注入管理对象生命周期,AOP则实现非侵入式的功能增强。Spring 6要求JDK 17+环境,配置文件支持XML方式定义Bean。开发流程包括:配置依赖(spring-context)、创建Bean类、编写XML配置文件、通过ApplicationContext获取Bean实例。日志框架推荐使用Log4j2,通过配置
2025-10-05 12:29:05
898
1
原创 运行别人的代码报错解决vue3
摘要:项目构建时出现两个关键错误:1) Browserslist警告caniuse-lite数据库过时,建议执行npx update-browserslist-db@latest更新;2) Node.js加密错误"error:0308010C",因Node.js 17+默认使用OpenSSL 3.0导致。解决方案:优先更新浏览器数据库,再通过设置环境变量NODE_OPTIONS=--openssl-legacy-provider或降级Node.js版本解决加密问题。建议在项目配置中添加自
2025-09-17 15:57:14
908
原创 vue中下载文件保存格式和加密方式
以上方法可根据实际需求选择,其中Blob方案最通用,axios适用于API接口,静态文件方式最简单,特殊格式需用对应库处理。1. 使用Blob对象和URL.createObjectURL。当需要从API获取文件时,axios配合Blob对象是常用方案。对于存放在项目中的静态文件,可以直接通过相对路径引用。4. 使用第三方库处理Excel等特殊格式。对于Excel文件导出,可以使用xlsx库。大文件下载建议使用分块传输和进度提示。2. 使用axios处理文件下载。
2025-09-17 15:46:37
242
原创 javaweb开发笔记——XML_Tomcat10_HTTP
本文主要介绍了XML基础语法、Tomcat服务器配置及HTTP协议相关内容。首先讲解了XML作为可扩展标记语言的基本语法规则,包括文档声明、根标签、属性规范等,并介绍了XML约束方式(DTD和Schema)。其次详细说明了Tomcat10的安装配置、目录结构及多种项目部署方式,包括IDEA开发环境中的Web项目创建和部署流程。最后解析了HTTP协议的发展历程、报文格式(请求/响应报文)、不同请求方法(GET/POST)的特点及常见状态码含义。全文为Web开发中XML配置、服务器部署和网络通信提供了实用指导。
2025-08-22 00:00:46
737
原创 javaweb开发笔记—— 前端工程化
前端工程化是使用软件工程的方法来单独解决前端的开发流程中模块化、组件化、规范化、自动化的问题,其主要目的为了提高效率和降低成本。ECMAScript 6,简称ES6,是JavaScript语言的一次重大更新。它于2015年发布,是原来的ECMAScript标准的第六个版本。ES6带来了大量的新特性,包括箭头函数、模板字符串、let和const关键字、解构、默认参数值、模块系统等等,大大提升了JavaScript的开发体验。由于VUE3中大量使用了ES6的语法,所以ES6成为了学习VUE3的门槛之一。
2025-08-21 23:37:46
559
原创 javaweb开发笔记——微头条项目开发
微头条项目开发摘要 微头条是一个新闻发布和浏览平台,采用前后端分离架构。前端使用Vue3、Vite、Axios等技术,后端使用Java17、Servlet、MySQL等技术栈。主要功能包括用户注册登录、新闻发布浏览、修改删除等。 核心功能: 用户系统:支持注册、登录、密码加密和JWT验证 新闻管理:分页浏览、标题搜索、详情查看、发布修改删除 权限控制:用户只能操作自己发布的新闻 技术亮点: 采用MVC架构模式分层开发 使用Druid连接池和MD5加密 实现跨域处理和统一响应格式 提供详细的分页查询功能 项目
2025-08-21 23:15:20
1013
原创 javaweb开发之会话_过滤器_监听器笔记
本文摘要: 第六章主要介绍了Java Web开发中的会话管理、过滤器和监听器三大核心技术。 会话管理:讲解了Cookie和Session的工作原理及使用方法,分析了HTTP无状态协议的特点,以及如何通过Cookie和Session配合实现状态保持。 过滤器:详细介绍了Filter接口的使用方法,包括生命周期、配置方式和过滤链机制,并给出了日志记录过滤器的实现示例。 监听器:阐述了三大域对象(application、session、request)的监听器接口,说明了如何监听对象的创建销毁和属性变化事件。 最
2025-08-07 22:42:08
910
原创 idea中.xml文件的块注释快捷键
摘要:本文介绍IntelliJ IDEA中实现多行注释的方法,推荐使用Ctrl+Shift+/快捷键生成标准块注释(/* */)。文章同时说明如何通过修改CodeStyle设置自定义注释符号,并提供了解决控制台乱码问题的三步方案:修改VM选项添加UTF-8编码参数、调整Editor文件编码设置、以及处理Tomcat输出乱码的特殊情况。特别指出<!---->是HTML注释符号,在代码编辑中应使用IDE支持的注释方式。
2025-08-03 15:41:37
695
原创 javaweb开发之Servlet笔记
Servlet技术详解 核心概念 Servlet简介 动态资源规范,运行在Tomcat服务器的Java小程序 主要功能:接收请求、处理业务、返回响应 开发流程 继承HttpServlet类 重写service/doGet/doPost方法 配置web.xml或使用@WebServlet注解 关键特性 生命周期管理 init():初始化 service():处理请求 destroy():销毁 核心对象 HttpServletRequest:封装请求信息 HttpServletResponse:构建响应内容 S
2025-08-03 15:40:29
821
原创 vue3使用vuedraggable插件实现拖拽排序
Vue.Draggable 是一个基于 Sortable.js 的 Vue 拖拽组件,支持列表排序、元素拖动和克隆等功能。主要特性包括:通过 group 属性设置可拖拽组,sort 控制内部排序,animation 实现拖动动画,handle/filter 限制拖动区域。支持多种事件如 start、add、update 等,可通过 npm 或 CDN 方式安装。示例展示了多列排序的实现,包括设置拖动样式(ghostClass/dragClass)和使用 clone 模式复制元素。组件还提供滚动区域支持、触摸
2025-07-30 18:26:58
1065
原创 javaweb学习开发代码_HTML-CSS-JS笔记
HTML 基础学习摘要 本文系统介绍了 HTML 和 JavaScript 的基础知识,主要内容包括: HTML 核心标签 标题标签 h1-h6 段落 p 和换行 br 列表 ul/ol 和 li 超链接 a 图片 img 表格 table 及相关标签 表单 form 和各类输入控件 CSS 样式 三种引入方式 常用选择器 浮动和定位 盒子模型 JavaScript 基础 变量和数据类型 运算符和流程控制 函数定义和使用 对象创建和 JSON 常用对象 API 事件处理机制 DOM 编程基础 实际案例 登录
2025-07-17 23:38:53
1047
原创 JDBC数据库连接技术学习笔记_进阶篇
摘要: 本文主要介绍了JDBC的扩展使用和数据库连接池技术。首先阐述了ORM思想,通过实体类将数据库表映射为Java对象,实现手动ORM操作。接着讲解了主键回显技术,在新增操作后获取自增主键值。然后介绍了批量操作提升执行效率的方法。 第二部分详细讲解了数据库连接池技术,包括Druid和HikariCP两种主流连接池的使用。内容涵盖: 连接池的配置方式(硬编码和软编码) 核心参数设置 连接获取和回收流程 两种连接池的具体实现代码示例 文章通过代码实例详细演示了各项技术的实际应用,为JDBC高级应用和性能优化提
2025-07-06 17:46:21
688
原创 JDBC数据库连接技术学习笔记_基础篇
本文介绍了Java数据库连接(JDBC)的基础知识和核心API使用。主要内容包括:1. JDBC概念与核心组成:Java提供的数据库连接规范,包含接口规范和厂商实现;2. JDBC快速入门步骤:注册驱动、获取连接、执行SQL和处理结果;3. 核心API详解:Connection、Statement、PreparedStatement(防止SQL注入)和ResultSet;4. 基于PreparedStatement实现CRUD操作示例;5. 常见问题解决方案,如资源管理、SQL语句错误、参数设置等。通过JD
2025-07-05 18:54:57
788
原创 element-plus按需自动导入的配置 以及icon图标不显示的问题解决
本文介绍了如何在Vite项目中通过unplugin-vue-components插件自动注册ElementUI图标组件。详细步骤包括:1)安装必要的依赖包;2)配置vite.config.js文件,设置AutoImport和Components插件参数;3)特别说明图标使用时的命名规则变化,需添加"i-ep-"前缀。文章还提到了开发服务器代理配置和路径别名设置等辅助功能,帮助开发者快速实现ElementUI图标组件的自动导入功能。
2025-07-04 15:40:21
728
2
原创 表单校验代码和树形结构值传递错误解决
文章摘要: 本文讨论了前端开发中的两个常见问题处理方案。首先介绍了表单校验的两种实现方式:直接校验法和遍历属性法,并提供了对应的代码示例。其次针对Pinia状态管理中的数据获取问题,分析了"$treeNodeId"错误的原因,提出了通过条件渲染确保数据不为空的解决方案,建议使用三元表达式{model:organize?organize:[]}处理树形结构数据,并推荐在组件生命周期钩子中使用async/awaitc。这些方案可以有效升前端应用的稳定性和用户体验。
2025-05-31 22:29:27
386
原创 threejs渲染器和前端UI界面
Three.js Canvas布局与交互开发摘要 本文系统介绍了Three.js中Canvas画布的布局技巧与交互开发方法。主要内容包括: Canvas画布布局 - 通过CSS实现全屏或局部布局,响应窗口尺寸变化,设置z-index处理元素叠加。 UI交互开发 - 展示如何通过HTML按钮控制3D场景,实现模型颜色切换等交互功能。 高级特性 - 背景透明度设置、渲染结果保存为图片、解决模型深度冲突闪烁问题。 优化实践 - 模型加载进度条实现,提升用户体验。 关键点: Canvas本质上仍是HTML元素,可使
2025-05-31 22:23:06
1358
原创 threejsPBR材质与纹理贴图
本文介绍了Three.js中基于物理的渲染(PBR)材质及其应用。主要内容包括: PBR材质概述:介绍了MeshStandardMaterial和MeshPhysicalMaterial两种PBR材质,以及它们与其他材质的区别和性能表现。 金属度和粗糙度:讲解了PBR材质中金属度和粗糙度属性的作用和设置方法。 环境贴图应用:详细说明了如何使用立方体纹理加载器创建环境贴图,并通过.envMap属性实现真实反射效果。 高级材质特性:介绍了MeshPhysicalMaterial特有的清漆层、透光率和折射率等高级
2025-05-31 17:03:45
1752
原创 threejs加载外部三维模型(gltf)
本文介绍了使用Three.js加载和处理GLTF格式3D模型的全流程。主要内容包括:1. 建模软件与程序员协作,推荐使用Blender等工具创建复杂模型;2. GLTF格式作为Web3D的标准格式,支持模型层级、材质、动画等丰富数据;3. 详细讲解模型加载流程,包括相机参数设置、颜色偏差解决方案;4. 模型命名管理、递归遍历修改材质等实用技巧;5. 纹理编码与渲染器输出设置的关系;6. 如何更换模型贴图及解决纹理翻转问题。文章通过代码示例演示了从模型导出到网页渲染的完整开发流程,为Web3D开发提供了实用指
2025-05-31 10:41:33
2147
1
原创 threejs顶点UV坐标、纹理贴图
本文摘要总结了Three.js纹理贴图的核心概念和应用技巧。主要内容包括:1)使用TextureLoader加载图片创建纹理对象,通过.map属性将纹理映射到几何体材质上;2)UV坐标的自定义方法,通过修改几何体attributes.uv属性控制纹理采样区域;3)圆形平面纹理映射的实现原理;4)利用纹理对象的.wrapS/.wrapT和.repeat属性实现阵列平铺效果;5)透明PNG贴图在场景标注中的应用;6)通过纹理.offset属性实现UV动画效果,结合.wrapS/wrapT可制作连续滚动的传送带动
2025-05-28 00:04:46
1347
原创 threejs层级模型
本文摘要: Three.js层级模型操作指南 层级模型创建与管理 使用Group类构建树形结构,通过.add()方法添加子对象 父对象变换会影响所有子对象 Object3D类可替代Group使用 模型遍历与查询 通过.traverse()递归遍历模型树 使用.getObjectByName()按名称查找特定模型节点 可为模型设置.name属性便于识别 坐标系统 本地坐标通过.position获取 世界坐标需用.getWorldPosition()计算父子位置累加值 可通过几何体平移改变模型相对坐标原点位置
2025-05-26 23:49:54
708
原创 threejs模型对象、材质
本文介绍了Three.js中模型操作与属性的核心知识:1) 使用Vector3向量控制模型的位置(.position)和缩放(.scale),通过.translateX()等方法实现平移;2) 通过欧拉对象Euler设置模型旋转角度(.rotation),支持.rotateX()等旋转方法;3) 使用Color对象设置材质颜色,支持RGB、十六进制等多种格式;4) 材质继承自Material类,可设置透明度(.opacity)和可见面(.side);5) 模型由几何体(.geometry)和材质(.mate
2025-05-25 23:38:48
1218
原创 threejs几何体BufferGeometry顶点
本文系统介绍了Three.js中几何体BufferGeometry的核心概念与应用。主要内容包括:1)几何体顶点数据的定义,通过BufferGeometry创建自定义几何形状;2)点模型、线模型和网格模型的渲染方式及区别;3)三角形面片概念、正反面判断及双面渲染设置;4)矩形平面构建方法及顶点索引优化;5)顶点法线数据的定义与光照材质的关系;6)内置几何体结构分析及细分数控制;7)几何体的旋转、缩放、平移等变换操作。文章循序渐进地讲解了从基础顶点定义到复杂几何体操作的全过程,为Three.js几何体开发提供
2025-05-25 20:29:38
1163
原创 three.js快速入门,基础语法
本文摘要: 本文详细介绍了Three.js的基础使用流程,包括下载安装、3D场景搭建、基本概念(场景、相机、渲染器)、光源设置、动画循环、坐标系理解以及常见几何体创建。通过案例演示了如何引入Three.js库、创建3D模型、添加光照效果、实现旋转动画,并讲解了相机控件OrbitControls和性能监视器Stats.js的集成方法。此外,还介绍了dat.gui.js库的用法,用于可视化调试场景参数,包括颜色、位置、光照强度等属性的交互式调整。最后提到通过官方文档和案例examples辅助开发学习。全文循序渐
2025-05-25 14:03:54
1145
原创 immutable.js介绍
Immutable.js 是一个提供不可变数据结构的 JavaScript 库,旨在通过创建不可变对象来简化数据管理。它通过复制并修改数据节点来实现不可变性,修改后的数据不会影响原始数据,从而提高应用的性能和可预测性。Immutable.js 支持多种数据结构,如 List(类似数组)、Map(类似对象)、Set(唯一值集合)等。这些数据结构提供了丰富的操作方法,如 set、get、delete、update 等,并且支持嵌套结构的操作。
2025-05-11 12:07:19
327
原创 Electron学习+打包
什么是 Electron?什么是 Electron?是⼀个跨平台桌⾯应⽤开发框架,开发者可以使⽤:HTML、CSS、JavaScript 等Web 技术来构建桌⾯应⽤程序,它的本质是结合了Chromium和Node.js,现在⼴泛⽤于桌⾯应⽤程序开发,例如这写桌⾯应⽤都⽤到了 Electron 技术:4、新版 QQElectron 的优势1.可跨平台:同⼀套代码可以构建出能在:Windows、macOS、Linux 上运⾏的应⽤程序。2.
2025-05-02 16:06:43
1623
原创 react学习笔记6——ReactRouter6教程
React Router 以三个不同的包发布到 npm 上,它们分别为:react-router: 路由的核心库,提供了很多的:组件、钩子。。等。与React Router 5.x 版本相比,改变了什么?内置组件的变化:移除<Switch/>,新增<Routes/>等。变为等。useParamsuseMatch等。
2025-05-02 00:33:12
955
原创 react学习笔记4——React UI组件库与redux
官网github:官网Github:英文文档中文文档Github:redux是一个专门用于做的JS库不是react插件库。它可以用在等项目中但基本与react配合使用。作用: 集中式管理react应用中多个组件的状态。某个组件的状态,需要让其他组件可以随时拿到(共享)。一个组件需要改变另一个组件的状态(通信)。总体原则:能不用就不用如果不用比较吃力才考虑使用。动作的对象包含2个属性type:标识属性值为字符串唯一必要属性data:数据属性。
2025-05-01 23:14:48
1459
原创 react学习笔记2——基于React脚手架与ajax
xxx脚手架用来帮助程序员快速创建一个基于xxx库的模板项目包含了所有需要的配置(语法检查、jsx编译、devServer下载好了所有相关的依赖可以直接运行一个简单效果react提供了一个用于创建react项目的脚手架库项目的整体技术架构为使用脚手架开发的项目的特点模块化组件化工程化,全局安装:,切换到想创项目的目录,使用命令:,进入项目文件夹:,启动项目:npm startpublic----静态资源文件夹-----网站页签图标------
2025-05-01 20:20:36
1666
原创 react学习1
react.jsReact核心库。:提供操作DOM的react扩展库。:解析JSX语法代码转为JS代码的库。JSX方式纯JS方式(一般不用)React提供了一些API来创建一种“特别”的一般js对象上面创建的就是一个简单的虚拟DOM对象虚拟DOM对象最终都会被React转换为真实的DOM我们编码时基本只需要操作react的虚拟DOM相关数据, react会转换为真实DOM变化而更新界。全称react定义的一种类似于XML的JS。
2025-04-22 01:25:30
848
原创 java学习笔记16——java8的其他新特性
这是JDK9的新特性1.命令行中通过指令jshell,调取jshell工具2.常用指令:/help:获取关使用 jshell 工具的信息/help intro : jshell 工具的简介/list :列出当前 session 里所有有效的代码片段/vars :查看当前 session 下所有创建过的变量/methods :查看当前 session 下所有创建过的方法/imports :列出导入的包/history :键入的内容的历史记录。
2025-04-11 01:38:07
842
原创 java学习笔记15——反射机制
2、声明榨汁机(Juicer),包含运行方法:public void run(Fruit f),方法体中,调用f的榨汁方法squeeze()4.(了解)反射的应用4:通过反射获取注解的信息(见com.atguigu04.other.annotation包的测试)> 因为反射体现了动态性(可以在运行时动态的获取对象所属的类,动态的调用相关的方法),所以我们在设计框架的时候,> 从我们作为程序员开发者的角度来讲,我们开发中主要是完成业务代码,对于相关的对象、方法的调用都是确定的。
2025-04-10 01:30:19
702
原创 java学习笔记14——网络编程
总结:1.要想实现网络通信,需要解决的三个问题- 问题1:如何准确地定位网络上一台或多台主机- 问题2:如何定位主机上的特定的应用- 问题3:找到主机后,如何可靠、高效地进行数据传输2.实现网络传输的三个要素:(对应解决三个问题)> 使用IP地址(准确地定位网络上一台或多台主机)> 使用端口号(定位主机上的特定的应用)> 规范网络通信协议(可靠、高效地进行数据传输)3.通信要素1:IP地址3.1 作用IP地址用来给网络中的一台计算机设备做唯一的编号3.2 IP地址分类。
2025-04-09 09:52:35
535
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅