自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小白先生的博客

深夜两点半的夜灯依旧闪烁,凌晨四点的闹钟不止你一个。

  • 博客(106)
  • 收藏
  • 关注

原创 Vue.js魔法书:前端开发者的终极指南----指令篇续篇

①computed有缓存特性,methods没有缓存 ②当一个结果依赖其他多个值时,推荐使用计算属性③当处理业务逻辑时,推荐使用methods方法,比如事件的处理函数watch侦听器的写法有几种?简单写法watch: {数据属性名 (newValue, oldValue) {一些业务逻辑 或 异步操作。},'对象.属性名' (newValue, oldValue) {一些业务逻辑 或 异步操作。完整写法watch: {// watch 完整写法数据属性名: {

2024-09-19 20:02:26 676

原创 Vue.js魔法书:前端开发者的终极指南----指令篇

Vue.js 是一个构建用户界面的渐进式框架,非常适合用来创建单页面应用(SPA)。它由前谷歌工程师尤雨溪(Evan You)于2014年创建,以其高效的数据绑定和组件系统而闻名。基于数据渲染出用户可以看到的“界面简单理解就是数据变,视图对应变。

2024-09-16 22:08:09 1005

原创 在这12种场景下会使Spring事务失效--注意防范

在使用@Transactional注解声明事务时,有时我们想自定义回滚的异常,spring也是支持的,可以通过设置参数来进行回滚。@Slf4j@Service如果在执行这段代码的时候,保存和更新数据时,程序报错了,抛出了SqlException、DuplicateKeyException等异常。而BusinessException是自定义的异常,报错的异常不属于BusinessException,所以事务也不会回滚。

2024-09-09 21:54:36 799

原创 Spring Boot实现接口幂等性的四种解决方案

幂等性是开发中常见的一个需求,尤其在支付、订单等与金钱挂钩的服务,保证接口的幂等性尤其重要。①对于下单等存在唯一主键的,可以使用“唯一主键方案”的方式实现②对于更新订单状态等相类似的更新场景操作时,可以使用“乐观锁方案”实现更简单③对于上下游这种,下游请求上游,上游服务可以使用“下游传递唯一序列号方案”更合适④类似前端重复提交,重复下单,没有唯一id号的场景,可以通过Token与Redis配合的“防重Token方案”实现更加便捷。

2024-09-08 16:21:01 714

原创 Mybatis超赞的写法,10种总有一种你值得拥有

MyBatis 虽说给我们的开发带来了很多的便捷,但有些地方写起来依旧比较的麻烦,比如配置XML的时候,但是一个好的写法,不仅能为我们节省不少时间、还能能降低出错的概率。

2024-09-04 14:30:09 636

原创 服务器间进行文件传输-SFTP&SCP一篇搞定

在一些特殊场景,两台服务器之间需要进行文件传输的时候,或许我们会想到FTP,这也是我们常见的实现方式,但是如果我们不能操作远程服务器,无法判断远程服务器是否安装了FTP呢,众所周知,FTP使用的前提时确定服务器上配置了FTP服务,并且正在运行FTP服务器软件,这是最大的前提,如果我们不知道,那么就不能贸然的使用该方式。那么还有什么方式呢,SFTP?SCP?SFTP和FTP不就少了一个S,应该也需要安装FTP吧?

2024-09-01 18:07:37 1104

原创 SpringBoot + AOP 解决审计日志记录

*** 用户登录,添加审计日志注解*/@SystemAuditLog(tableName = "tb_user", description = "用户登录")//登录逻辑处理备注:相关的实体类@Data/*** 审计日志,主键ID*//*** 操作的表名,多个用逗号隔开*//*** 操作描述*//*** 请求参数*//*** 执行结果,0:成功,1:失败*//*** 异常信息*//*** 请求代理信息*//*** 操作时设备IP*/

2024-08-28 16:14:59 587

原创 EasyExcel动态映射Excel数据到任意实体类教程

在使用EasyExcel进行Excel导入时,我们经常需要将Excel中的数据映射到Java实体类中。如果Excel的列名是固定的,我们可以@Excel。但如果Excel的列名不固定,或者我们希望根据Excel的第一行来动态确定映射关系,我们就需要一种更灵活的方法。本教程将介绍如何使用EasyExcel创建一个工具类,以支持动态映射Excel数据到任意实体类。

2024-08-27 22:24:01 1088

原创 定时任务-cron表达式篇

Cron表达式由一系列由空格分隔的字段组成,每个字段代表一个时间单位。这些字段通常包括秒分钟小时日期月份星期几和可选的年份。Cron表达式用于定义一个时间表,以便在指定的时间执行任务。Cron表达式是一个强大的工具,可以帮助你自动化各种任务。通过理解其基本格式和特殊字符,你可以灵活地创建适合你需求的定时任务。

2024-08-26 16:35:44 926

原创 SpringBoot项目多线程实现定时任务-只需要三步

众所周知,项目中需要使用定时任务发布的需求时非常常见的,例如:数据同步,清理垃圾文件,清理过期用户等需求,可能需要我们定时去清理数据。但是我们如果集成xxl-job,Quartz,spring task等定时任务框架,但是我们如果只是针对某些小需求进行定时任务,完全用不到这样调度框架,Spring Boot框架中集成了@Schedule定时任务。

2024-08-21 22:57:58 537 1

原创 若依框架中Spring Cloud版本启动失败问题

该问题是因为在我们拉取若依代码到本地之后,没有对配置作改动,而且若依官方也没有作出说明,所以导致很多小伙伴们对自己产生误解,是不是自己太菜了,但是自己又什么都没有改动,其实不然,就是配置的问题。依赖包,初次加载会比较慢(根据自身网络情况而定)首先你肯定要确定你是按照若依说的流程去搞的。> 按钮,选择工作目录,然后点击。按钮,即可成功导入。)下载解压到工作目录。

2024-07-18 17:48:11 437

原创 MinIO在Linux环境中的使用

是一个高性能的对象存储服务,兼容 Amazon S3 API。它设计用于大规模数据存储,可以很好地处理大数据集和高并发请求。如果你想在 Linux 系统上安装 MinIO,并开放必要的端口以便外部访问。Vmware下载安装和linux安装这里就不在赘述了,需要去其他文章学习一下。

2024-06-24 13:03:43 547

原创 不使用ES,如何使用MySQL实现模糊匹配

系统规模比较小的,不建议使用ES,单纯为了实现这个功能引入ES成本较大,还要涉及到数据同步等问题,商务在添加公司时,可能为了方便,直接填写公司的简称,而公司全称可能之前已经被添加过了,针对于这个场景,记录数目相对来说没有那么多,所以对于效率稍低的结果可以接受,因此技术选型方面采用。,所以管理员在针对公司信息审批之前,需要查看以往添加的公司信息里有无同一个公司。分词功能有现成的分词器,所以实现这样的业务场景核心重点就在。已有的功能进行实现。RegExp正则匹配。

2024-06-23 16:19:17 353

原创 通过这10个SQL优化手段,让你的SQL提升10倍效率

涉及到SQL优化时,有许多策略和技术可以帮助我们提升查询性能和数据库效率。下面将对10个SQL优化手段详细的说明一下,提供代码。

2024-06-22 22:41:35 589

原创 使用yarn时--解决error Error: certificate has expired问题

将yarn配置中的 strict-ssl 设置为 flase , 在 info yarn config 信息中, 'strict-ssl' 为 true,表示需要验证 HTTPS 证书。我们可以将 'strict-ssl' 设置为 false,跳过 HTTPS 证书验证。

2024-01-28 17:13:45 12771

原创 Spring Boot 优雅实现统一数据返回格式+统一异常处理+统一日志处理

在我们的项目开发中,我们都会对数据返回格式进行统一的处理,这样可以方便前端人员取数据,当然除了正常流程的数据返回格式需要统一以外,我们也需要对异常的情况进行统一的处理,以及项目必备的日志。

2024-01-18 15:12:24 4509

原创 localhost与127.0.0.1有啥区别---一篇带你了解清楚

当你在浏览器或者命令行中输入 localhost 时,系统会将其解析为本地计算机的地址。这个名字的优势在于它更直观易懂,让人一看就知道指向的是本地。

2024-01-18 11:18:01 737

原创 如何保证数据库和缓存双写一致性-----一篇足以

保证数据库和缓存双写一致性的必要性和优点在于确保系统数据的准确性和可靠性。通过双写一致性机制,系统可以。这种做法有效降低了系统的脆弱性,提高了数据的完整性。同时,。通过双写一致性策略,即在写入数据库的同时更新缓存,确保了数据的同步性,为系统提供了更高的可用性和稳定性,为用户提供更加流畅的体验。

2024-01-13 15:30:34 1200

原创 SpringBoot 注解超全详解--一篇足够

Java注解(Annotation)是一种元数据,它提供了一种在源代码中嵌入信息的方式。使用Java注解可以带来多方面的优点,包括:代码优雅: 注解可以使代码更加简洁和优雅。通过在代码中添加注解,可以将一些元数据信息直接嵌入到代码中,而不需要繁琐的配置文件或其他外部资源。提高开发效率: 注解能够减少开发者的工作量。通过使用现有的注解,可以快速地实现一些通用的功能,如日志记录、数据校验等,而不必手动编写大量重复性代码。代码维护性: 注解使得代码更具可读性和可维护性。通过在代码中直接标注关键信息,可

2024-01-09 18:00:29 896

原创 Java技术-项目中经常使用的工具类汇总

工具类在现代Java应用程序中发挥着重要的作用。通过提供一系列的实用方法和功能,工具类极大地简化了开发人员的任务,提高了代码的可维护性和可读性。其核心特性包括[列举关键特性],使其成为处理[特定任务/场景]的理想选择。工具类的各种方法,演示了在不同情境下的实际用例。总的来说,Java工具类不仅为开发人员提供了高效的解决方案,还为项目的成功实施和持续发展做出了重要贡献。无论是初学者还是经验丰富的开发人员,都能从工具类中获得实际的价值,为他们的Java项目增添更多的灵活性和效率。

2024-01-02 14:49:23 446

原创 Java技术-isEmpty 和 isBlank 的用法区别

也许你两个都不知道,也许你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道还有isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlank的存在, 他们都是org.apache.commons.lang3.StringUtils;这个工具类中的方法是否为空。可以看到针对源码的分析,只可以看到对字符串的null判断和长度是否为0进行判断,例如带有空格的空字符串,长度是不为0的并且不为空,所以是可以通过的。相当于不为空 ,是否有一个为空,

2024-01-02 14:30:04 923

原创 HTML及FTL文件转换为PDF的实现方式

当我们遇到表格数据(类似于word中设计的表格)需要动态的填充数据,而这个数据是从数据库等地方作为对象获取的,这个时候我们需要使用特定的技术去实现动态数据填充以及html页面转换pdf的实现。当我们遇到类似的业务场景的时候,可以参考这篇文章去实现。主要是前三个依赖,剩余的依赖是对日志记录的使用,Freemarker依赖是Java中对模板和数据进行整合的使用,flying-saucer-pdf是针对pdf生成需要。

2023-12-18 11:34:29 1176

原创 MyBatis-Plus分页插件的配置和使用

mybatis-plus在3.4.0版本之后,在分页的时候,要配置分页插件,使用拦截器拦截传递的参数,进行分页操作。然后再使用分页查询就不会出错了,否则会出现不分页查询和总数为0的情况。

2023-10-13 00:10:00 279

原创 摄像头问题不要花冤枉钱去重装系统了

这个时候我们就目的很明确了,这个时候你去淘宝或者拼多多,抑或是线下找店铺去修,可能都会让你重装系统,说什么版本不兼容问题,没有必要,如果下面的方案不能解决你的问题,你再去维修也不迟。(例如微信,QQ等)这个权限不是必须开的啊,因为你的微信和QQ打电话的时候是会查看有没有权限的,没有权限你的微信和QQ也会出现上面的问题。如果上面这些都没有问题,那么95%的可能是你的驱动版本问题,确实是版本不兼容,但是不是非要重装系统。打完收工,你再去看看你的摄像头,95%的可能已经好了,完全没必要重装系统!

2023-09-07 22:24:13 156

原创 Java8特性-Lambda表达式

在Java 8中引入了Lambda表达式作为一项重要的语言特性,可以堪称是一种语法糖。Lambda表达式使得以函数式编程的方式解决问题变得更加简洁和便捷。(参数) -> {代码}其中,parameters是Lambda表达式的参数列表,可以是零个或多个参数,如果有多个参数,用逗号分隔;expression是Lambda表达式的函数体,可以是一个表达式或一段语句块。

2023-09-07 16:03:38 502

原创 23种设计模式攻关

这个静态方法会检查实例是否已经存在,如果存在则返回现有实例,如果不存在则创建一个新实例并返回。

2023-08-21 11:18:03 1049

原创 设计模式之七大原则

单一职责原则想象一下,如果一个类承担了太多的责任,就像一个人同时负责做饭、洗衣服和打扫卫生一样,那么这个类会变得非常复杂,难以理解和维护。而且,当需要修改其中一个功能时,可能会影响到其他功能,导致意想不到的问题。通过遵循单一职责原则,我们可以将一个复杂的类拆分成多个小的、具有独立职责的类。每个类只关注自己的职责,这样代码会更加清晰、易于理解和修改。举个例子,假设我们有一个User类,它既负责用户的登录验证,又负责用户信息的管理。

2023-08-14 17:08:09 664 1

原创 ElasticSearch7.6入门学习笔记

​在学习ElasticSearch之前,先简单了解一下Lucene:是一个开放源代码的全文检索引擎工具包不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)当前以及最近几年最受欢迎的免费Java信息检索程序库。Lucene和ElasticSearch的关系:ElasticSearch是基于Lucene 做了一下封装和增强

2023-08-06 19:29:53 652

原创 aop结合slf4j实现项目中用户日志再控制台输出

*** @author 小白程序员*//*** @author 小白程序员*/@Component@Aspect@Slf4jObject ret;// 打印出参//获取被增强方法上的注解对象// 打印请求 URL// 打印描述信息// 打印 Http method// 打印调用 controller 的全路径以及执行方法// 打印请求的 IP// 打印请求入参。

2023-07-22 18:40:50 315

原创 Spring Security从入门到精通

​是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。​ 一般来说中大型的项目都是使用来做安全框架。小项目有Shiro的比较多,因为相比与SpringSecurity,Shiro的上手更加的简单。​ 一般Web应用的需要进行认证和授权。​认证:验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户​授权:经过认证后判断当前用户是否有权限进行某个操作。

2023-07-20 20:50:12 349

原创 项目中使用redis转换其他对象出现错误

报错信息:java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to com.jianyin.domain.LoginUser。这里的问题是redisCache.getCacheObject()方法不会进行强转,

2023-07-20 19:04:44 827

原创 SpringBoot+FastJsonRedisSerializer序列化数据后报错java.lang.ClassCastException: com.alibaba.fastjson.JSONO

这句话设置了value的序列化,你想你序列化后存储到redis中,再从redis中拿出来和你未序列化之前的数据是不是一样的?出现这个问题是因为使用FastJsonRedisSerializer序列化数据的时候,多加了一句话。这样一想解决方案就出来了,不设置不就行了!把value都注释掉,就不会出问题了。

2023-07-15 20:36:17 325

原创 SpringBoot使用Redis作为缓存器缓存数据的操作步骤以及避坑方案

每个分类,比如湘菜,川菜,每次点击都需要再次重新查询数据库,不仅压力更大而且造成资源浪费,我们可以把这些查询的数据,按菜品分类给存入redis中,设置其30分钟生存周期,这样再次点击查看,就不会再查询数据库,直接从redis中获取数据,降低服务器压力也避免资源浪费。这个就不再演示了,到这里我们就可以明显觉得,代码量上来了,这只是一个查询都这样,再细想一下,这个查询会不会因为这个缓存出现问题,比如说我们新增了菜品,修改了菜品,删除了菜品,这个缓存区是不是得动一动,那这个重复的代码多不多,显而易见。

2023-07-15 20:06:47 5227

原创 MybatisPlus中的save方法和insert方法区别

表示操作是否成功!

2023-07-11 14:15:32 5170

原创 MybatisX插件自动生成sql失效问题的详细分析

2.检查generatorConfig.xml配置文件中的table标签是否把这些属性设为了false,默认是true,如果是false则无法生成。1.首先检查自己的数据库中表是否有主键,如果没有主键是不会生成类似selectByPrimaryKey之类的方法的。mybatis框架提供了非常好用的逆向工程插件,但是根据数据库驱动版本的不同会出现一些问题。mysql驱动是6.x的,是无法生成的,5.x版本的是可以生成的。这个问题大家是都可以注意到的,

2023-07-03 17:32:00 2327

原创 IDEA中MyBatiX插件的使用教程

在idea中连接MySQL数据库。连接后可以测试连接一下再连接即可。接下来使用mybatisX插件。首先下载MybatisX插件。

2023-07-03 16:46:44 2101

原创 MyBatis-Plus教程,不敢说是最详细的

Wrapper: 条件构造抽象类,最顶端父类: 用于查询条件封装,生成 sql 的 where 条件: 查询条件封装: Update 条件封装: 使用Lambda 语法:用于Lambda语法使用的查询Wrapper: Lambda 更新封装Wrapper上面调用的是MyBatis-Plus提供的带有分页的方法,那么我们自己定义的方法如何实现分页呢?在UserMapper接口中定义一个方法/*** 根据年龄查询用户列表,分页显示。

2023-07-03 00:56:40 4826 2

原创 java: 警告: 源发行版 11 需要目标发行版 11解决方案

如果这里是正确的,之后查看一下自己的pom文件中是否指定了正确的jdk。出现这样的问题首先检查一下自己的项目结构是否使用的对应的jdk。这里的时候你改完运行就会发现还会报错,再重新启动项目,即解决。

2023-07-01 13:46:39 3918 4

原创 Vue的详细安装教程,使用NVM安装是我所推荐的方式

如果下载node过慢,请更换国内镜像源, 在 nvm 的安装路径下,找到 settings.txt,设置node_mirro与npm_mirror为国内镜像地址。因为我们是使用nvm安装的nodejs,如果上面按照我的建议来安装的,你一定会在nvm的安装目录下找到你所下载的nodejs,这也是我为什么在上面安装nvm的时候这样建议。然后配置这两个文件,一个一个执行哈,看清楚文件的路径,prefix是node_global(全局目录),.cache是node_cache(缓存文件夹)可指定32/64位。

2023-06-21 23:52:06 3387

原创 NVM管理node版本并且出现的安装node后node -v测试出现问题

键入nvm install node版本号(例如:nvm install 12.17.0)即可安装对应版本以及自动安装对应的npm版本。除了上面显示的node.js版本,其他版本号也可以下载(注意:在下载时,有时候有些版本可以准确下载,有时候有些版本会出现只下载node,但npm版本不会自动下载的情况;②更换一下其他版本下载)安装完成后,需要对你的环境变量进行配置,这个就不再细说了,如果需要,请在评论区留言,稍后会附上相应教程。安装好nvm后,检查一下nvm的版本(看一下是否安装成功!

2023-03-26 11:40:25 2045 1

scp复制远程服务器文件夹至本地服务器expect脚本

该脚本需要配合java代码一起使用的哈,教程地址:https://blog.csdn.net/zoroly/article/details/141786729?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22141786729%22%2C%22source%22%3A%22zoroly%22%7D

2024-09-01

scp复制远程服务器文件至本地服务器expect脚本

该脚本需要配合java代码一起使用的哈,教程地址:https://blog.csdn.net/zoroly/article/details/141786729?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22141786729%22%2C%22source%22%3A%22zoroly%22%7D

2024-09-01

仿京东搜索-ElasticSearch

该项目能够锻炼新人的学习能力和解决问题的能力,能够对mysql和es形成一个对比,提高自己的技术,在Java爬虫和对es的操作上会有一定的锻炼,虽然是一个简单的demo,但是在能够让我们明白es在搜索上的高效和便捷,当然,运行这个demo,需要有es的一些软件,例如:elasticsearch-7.6.1,elasticsearch-head-master,kibana-7.6.1-windows-x86_64,以及分词器IK分词器。

2023-08-06

Java基础知识总结(超详细整理)

本套笔记循循渐进,适合初入计算机行业的小白,从Java概述到语法,再到循环,数组,方法,面向对象,继承,多态,内部类,集合,异常,IO流,多线程,网络编程,Lambda表达式,最后是类加载器,反射,模块化。 没有合适的笔记,只有合适的人选上合适的笔记去学习,没有学不会的技术,只要有肯学技术的人,就万事具备。

2023-02-02

2022年最新版-Java+最常见的+200++面试题汇总+答案总结汇总

或许这份面试题还不足以囊括所有 Java 问题,但有了它,我相信你一定不会“败”的很惨,因为有了它,足以应对目前市面上绝大部分的 Java 面试了,因为这篇文章不论是从深度还是广度上来讲,都已经囊括了非常多的知识点了。凡事预则立,不预则废。能读到这里的人,我相信都是这个世界上的“有心人”,还是那句老话:上天不负有心人!我相信你的每一步努力,都会收获意想不到的回报。 适宜阅读人群: 需要面试的初/中/高级 Java 程序员 想要查漏补缺的人 想要不断完善和扩充自己 Java 技术栈的人 包含的模块 本文分为十九个模块,分别是: Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM,阅读者可以根据实际情况跳跃式阅读。

2023-02-02

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

TA关注的人

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