- 博客(45)
- 收藏
- 关注
原创 react的快速入门
首先,来看package.json这个文件//dependencies是用来安装依赖的,比如react、react-dom、react-scripts等等//scrips是用来执行一些命令的,比如start、build、test、eject等等。
2025-01-16 16:50:13
92
原创 签到送金币项目
/ 使用bitfield命令获取指定范围的二进制数据,内部转为long类型数据返回。// 计算连续签到的天数,(方案:1将数据转为二进制字符串,2位运算)// 如果找到对应的连续签到天数的数据,赠送积分。// 从积分规则表中查询签到送多少积分,// 然后向积分记录表中添加数据。// 然后向积分记录表中添加数据。// 通过redis存储签到信息。// 根据连续签到天数额外送积分。// // 送积分。// 进行连续签到判断。// 签到成功送积分。
2024-11-23 14:59:13
515
原创 短信发送业务
throw new RuntimeException("10分钟内最多发送3次验证码,请稍后再试");throw new RuntimeException("请输入合法的手机号");// 思考题:判断10分钟三次的逻辑,在高并发情况下有问题,如何解决?// 将验证码存入redis,考虑类型和key值。// 如果key不存在,创建key。// 自增后直接获取自增后的值。// 通过正则判断手机号的合法性。// 异步发送短信(线程、mq)// 判断key是否存在。
2024-11-23 11:31:39
553
原创 登录功能业务代码
throw new RuntimeException("用户名错误");throw new RuntimeException("密码错误");// 针对前端提交的密码进行md5处理。// jwt,不需要存入redis。// token放到redis中。
2024-11-23 11:30:32
193
原创 JWT在项目中运用
JSON Web Token(JWT),它定义了一种简洁的、自包含的协议格式,JWT可以使用HMAC算法或使用RSA的公钥/私钥对进行签名,防止被篡改。
2024-10-26 16:45:39
429
原创 发送短信,验证码
注册阿里云的账号开通短信服务测试短信服务是否可用导入jar-- 短信相关 -->工具类/*** 发送短信工具类*/static {/*** 发送短信* @return*/try {// 记录错误日志AliSmsUtils.sendSms("阿里云短信测试",。
2024-10-26 16:39:39
748
原创 密码md5加密处理
/ jwt已经存了用户信息,jwt可以设置过期时间,实现之前redis存储登录信息的功能。throw new CommonException("用户名错误");throw new CommonException("密码错误");// 使用jwt做token,一般需要将jwt作为key存到redis中。// hutool提供的加解密的工具类。
2024-10-26 16:36:10
528
1
原创 redis与springBoot整合
设置一个没有登录异常类即可/*** --- 天道酬勤 ---* @desc 未登录异常*/// 为了接收状态码。
2024-10-11 22:37:27
885
原创 redis在项目中运用(基础)
mysql学完命令之后,学过jdbc。redis也要使用Java连接redis数据库1.Jedis2.RedisTemplate[重点]
2024-10-11 22:35:37
919
原创 redis基础
Redis是一个key-value存储系统,属于非关系型数据库(NoSQL -> 非关系型数据库 -> Not Only SQL)。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)等类型。为了保证效率,数据都是缓存在内存中,因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作。(Redis也被称作缓存数据库)
2024-10-11 22:34:59
910
原创 Aop在项目中的使用(日志操作)
/写在方法上@MyLog("分页查询计量单位")/*** @Desc 200不是二百*///跨域@Resource@MyLog("分页查询计量单位")// System.out.println("打印一下"+unitSearchParam);@MyLog("计量单位的删除")@MyLog("计量单位的批量删除")@MyLog("计量单位的添加")@MyLog("计量单位的修改")/*** 上传excel表格。
2024-09-30 11:13:06
536
原创 spring boot集成日志
-日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->-- springboot默认是用logback的日志框架的(性能差),所以需要排除logback,不然会出现jar依赖冲突的报错 -->-- 滚动文件 达到触发条件,生成新的文件,原来的内容会存档,存档的文件根据filePatternt规则增加年月日 -->-- Logger节点用来单独指定日志的形式,比如要为指定包下的class指定不同的日志级别等。
2024-09-30 10:50:59
1742
1
原创 Vuex详解
Vuex 是什么?Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。说人话: 实现多个组件的数据共享,即一个数据需要在多个组件中使用,那么就需要把这个数据存储在VueX中。
2024-09-20 22:35:21
1125
原创 Vue-router路由
路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地址之后,浏览器要去请求这个url地址对应的资源。那么url地址和真实的资源之间就有一种对应的关系,就是路由。路由分为前端路由和后端路由1)后端路由是由服务器端进行实现,并完成资源的分发(我们之前的项目)2)前端路由是依靠hash值(锚链接)的变化进行实现 (vue官网就是使用这种)前端路由的基本概念: 根据不同的事件来显示不同的页面内容,即事件与事件处理函数之间的对应关系 前端路由主要做的事情就是。
2024-09-20 22:32:07
1937
原创 Spring自定义注解
在开发中一般加上注解之后会自动执行一些逻辑,大部分实现的原理是使用AOP切面来实现注解的逻辑的。/** 这是一个切入点* *//*** 切点之前*//*** 切点之后*//*** 切点返回内容后*//*** 切点抛出异常后*/return obj;
2024-09-11 21:57:46
2072
1
原创 SpringBoot整合分页助手
关于分页有些数据默认访问首页,即默认当前页是 pageNum= 1数据有总条数, total = select count(*)页面大小/每页展示多少条数据, pageSize = 10总页数 , pageCount = total / pageSize (需要注意除不尽情况)-- total共7条-- 每页多少条数据: pageSize 3条-- 总页数pageCount-- 当前页pageNum=1-- 查询第1页-- 查询第2页-- 查询第pageNum页。
2024-09-09 20:23:43
713
原创 SpringBoot动态SQL
如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。注意: 通过application.yml添加日志,显示sql. 通过打印的sql来判断是否拼接成功。-- 需求:查询用户,条件是money=1000,如果密码不为空,也根据密码查。这个元素可以用来定义可重用的 SQL 代码片段,以便在其它语句中使用。-- 将重复的SQL代码抽取成SQL片段,以供复用 -->常见的动态SQL语法。
2024-09-09 20:21:34
1449
原创 Mybatis 多表联查
实体类要设置扩展类以用于封装多表的数据一对一,类中套类一对多,类中套集合正常封装使用resultMap一对一封装使用association一对多封装使用collection。
2024-09-05 23:19:09
698
原创 Mybatis中ORB映射
当数据库的列和实体类属性不一致时,可以通过手动映射来完成手动关联映射,就不再使用resultType,而是使用resultMap,其中写resultMap标签的id。
2024-09-05 23:16:30
429
原创 Mybatis
官网:MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层(Dao)框架。用于操作数据库。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。
2024-09-04 22:29:08
1156
原创 Spring MVC
引言:Spring Web MVC 框架提供 模型-视图-控制器 架构和随时可用的组件,用于开发灵活且松散耦合的 Web 应用程序。MVC 模式有助于分离应用程序的不同方面,如输入逻辑,业务逻辑和 UI 逻辑,同时在所有这些元素之间提供松散耦合。
2024-09-04 22:14:26
1377
原创 Spring核心功能——AOP(面向切面编程)
Spring中另外一个核心功能,AOPAOP(Aspect Oriented Programming),即面向切面编程OOP(Object Oriented Programming ),即面向对象编程.AOP面向切面编程,利用 一种称为"横切"的技术,剖开封装的对象内部,并将那些影响了多个类的公共行为抽取出封装到一个可重用模块),并将其命名 为"Aspect",即切面。
2024-09-03 22:37:33
1622
原创 Spring核心功能——IOC+DI(控制反转和依赖注入)
IOC是Spring框架的核心功能之一,IOC(inversionofcontrol)控制反转控制: 控制创建对象的能力反转: 原来创建对象是自己做,反转就是将创建对象的能力交给Spring。
2024-09-03 22:24:19
792
原创 设计模式之观察者模式
观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。创建了对象间的一种一对多的依赖关系,当一个对象状态改变时,所有依赖于它的对象都会得到通知并自动更新。
2024-08-30 17:07:20
799
原创 设计模式之模板模式
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。抽象父类(Abstract Class):具体子类(Concrete Classes):钩子方法(Hook Method)(可选):客户端(Client)(可选):我们将创建一个定义操作的 Game 抽象类,其中,模板方法设置为 final,这样它就不会被重写。Cricket 和 Football 是扩展了 Gam
2024-08-30 17:01:55
315
原创 设计模式之适配器模式
适配器模式(Adapter Pattern)充当两个不兼容接口之间的桥梁,属于结构型设计模式。它通过一个中间件(适配器)将一个类的接口转换成客户期望的另一个接口,使原本不能一起工作的类能够协同工作。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。假设有一个音频播放器,它只能播放 MP3 文件。
2024-08-30 16:52:55
772
原创 设计模式之装饰器模式
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。装饰器模式通过嵌套包装多个装饰器对象,可以实现多层次的功能增强。每个具体装饰器类都可以选择性地增加新的功能,同时保持对象接口的一致性。我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。
2024-08-30 16:39:24
773
原创 String核心设计模式——建造者模式
我们假设一个快餐店的商业案例,其中,一个典型的套餐可以是一个汉堡(Burger)和一杯冷饮(Cold drink)。建造者模式是一种创建型设计模式,它的主要目的是将一个复杂对象的构建过程与其表示相分离,从而可以创建具有不同表示形式的对象。:负责调用建造者的方法来构建产品,指导者并不了解具体的构建过程,只关心产品的构建顺序和方式。:实现抽象建造者接口,具体确定如何构建产品的各个部分,并负责返回最终构建的产品。:定义了构建产品的抽象接口,包括构建产品的各个部分的方法。接口的实体类,以及一个表示食物包装的。
2024-08-30 15:23:00
1242
原创 Spring的核心设计模式——工厂模式
目录工厂模式工厂模式的类型优点缺点使用场景结构实现步骤 1步骤 2步骤 3步骤 4步骤 5 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,它提供了一种创建对象的方式,使得创建对象的过程与使用对象的过程分离。工厂模式提供了一种创建对象的方式,而无需指定要创建的具体类。通过使用工厂模式,可以将对象的创建逻辑封装在一个工厂类中,而不是在客户端代码中直接实例化对象,这样可以提高代码的可维护性和可扩展性。简单工厂模式(Simple Factory Pattern):工厂方法模式(Fa
2024-08-30 11:36:58
1819
原创 单例模式(懒汉,饿汉)
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供了一个全局访问点来访问该实例。1.意图确保一个类只有一个实例,并提供一个全局访问点来访问该实例。2.主要解决。
2024-08-29 21:20:29
314
原创 反射(快速入门)
反射就是动态加载对象,并对对象进行剖析。在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法,这种动态获取信息以及动态调用对象方法的功能成为 Java 反射机制。
2024-08-29 19:33:12
995
原创 过滤器Filter(JavaEE有三大组件: servlet filter linstener)
每个过滤器实现某个特定的功能,当第一个Filter的doFilter方法被调用时,Web服务器会创建一个代表Filter链的FilterChain对象传递给该方法。在doFilter方法中,开发人员如果调用了FilterChain对象的doFilter方法,则Web服务器会检查FilterChain对象中是否还有filter,如果有,则调用第2个filter,如果没有,则调用目标资源。客户端对服务器请求之后,服务器调用Servlet之前会执行一组过滤器(多个过滤器),那么这组过滤器就称为一条过滤器链。
2024-08-28 23:20:12
737
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人