- 博客(41)
- 收藏
- 关注
原创 vue基础
在vue项目下的src->App.vue中有三个模板。2.template是写html的地方。1.script 是写js代码的地方。npm i 的作用是加载需要的依赖包。3.style是写css的地方。
2025-07-08 22:16:07
115
原创 一个vue项目的基本构成
存放自定义的vue组件,这些组件可以被重复使用在不同页面或部分中。这是js入口文件,负责初始化vue应用实例,并将其挂载到dom上。这是项目的入口,它通常会引用main.js文件加载整个应用。这是一个隐藏文件夹,包含了项目中所有依赖库的源代码。这是源代码目录,包含了应用程序的主要逻辑和组件。用于存放静态资源,如图像,视频等其他媒体文件。包含有关项目和其依赖的信息,以及脚手架脚本。用于存放静态资源,如图片,字体等。这是跟组件 ,通常是应用的起点。3.public 下的index.html。
2025-07-08 21:51:28
239
原创 git的基础使用
在文件夹中打开git bash,中文件夹中右键->选择“显示更多选项”->会有git bash的。git add .后的.代表该路径下的所有文件都提交到暂存区。-m 后面字符串的内容是描述自己提交的内容,方便日后交流。vi是进入文件中,file01.txt是相对应的文件名。这个指令是直接将暂存区的文件全部都交到仓库中。有两种方法,一种是直接中文件夹中创建。(1)从工作区将代码提交到咱暂区。(2)从暂存区将代码提交到仓库中。代表创建了一个本地的空仓库。3.将文件提交到暂存区。4.将文件提交到仓库。
2025-07-08 12:10:27
236
原创 mybatisplus的总结
该项目主要是让我通过定义好的接口书写sql,技术不难,比较繁琐,redis几乎没有用到,用的最多的是mp,SpringMVC等,后面的nginx也没看。//创建分页查询对象,第一个参数是current,第二个是size。继承ServiceImpl<UserMapper,User>,第一个是User对应的mapper,第二 个是对应表名的实体类s。继承IService<User>,User是对应数据库的表名。
2025-06-02 21:24:00
2003
原创 token
是一种用户认证和授权的机制,比如;QQ登录,只有你登录了, 你只能使用自己的qq向各个好友发信息,接受信息,否则你无法使用。4.服务器通过验证token的签名和有效期,才能放心的让你调用接口实现功能(qq向好友发信息等)3.后续每一次调用接口,前端需要在请求头上带上这个token,服务器就知道你是谁了。一般jwt来表示token,里面主要包含了三部分内容。2.前端把这个token保存在本地。1.登录成功后服务器签发一个。
2025-05-31 17:19:23
373
原创 springboot拦截器的基本配置
System.out.println("进入拦截器 AuthenticationInterceptor");// 返回 true 表示继续执行,false 表示中断。@Component // 一定要加,让 Spring 管理这个类。这个方法是在调用接口前运行的。2.配置类(用于注册拦截器)
2025-05-29 23:33:17
449
原创 mp中的密码处理
当mp更新数据的时候,若实体中的字段为null,则默认最终生成的update语句不含概字段。用于处理密码的单向函数;MD5,SHA-256,即将目标转化成结果后,不能将结果转化成目标。为了降低数据库泄露导致的用户账号安全问题。提供的工具类DigestUtils实现。若要改变该默认配置可以通过下面俩种方法。
2025-05-28 20:14:20
217
原创 在springboot,禁止查询数据库种的某字段
在注解@TableField后面加一个select = false,这样就无法查询到该表下密码这个字段了。
2025-05-27 23:53:31
368
原创 修改向前端传递的日期格式
注意:yml的格式区分,以及自己数据库的时区是否也是GMT+8,可以自己上网查询然后查询mysql的时区。在配置中添加某种配置如,yml或.properties后缀的文件名。在类中的某属性上添加注解@JsonFormat注解。缺点:如果所有字段的日期格式不同就推荐第一种方式。让Mybatis与mysql的时区保持一致。好处:修改所有的日期格式。例(yml格式下的)
2025-05-26 22:46:32
198
原创 mybatisplus的分页插件
/打印出查询的对象。//创建分页查询对象。:使用mybatisplus时候别忘记,springboot与mybatisplus的不兼容问题。分页对象包含了分页的各项信息。
2025-05-25 09:07:37
260
原创 mybatisPlus中的通用Mapper与通用Servi
继承ServiceImpl<UserMapper,User>,第一个是User对应的mapper,第二 个是对应表名的实体类s。@Mapper//也可以在启动类中通过@MapperScan进行扫描。继承IService<User>,User是对应数据库的表名。实现对应的service接口 UserService。第一种是调用Mybatis-plus自动创建的方法。通过UserMapper对象调用各种方法。2.创建Service实现类。1.创建Service接口。二.通用Service。
2025-05-23 21:41:04
470
原创 TypemJamdler与HTTPMessageConverter类型转化问题
若想要实现code属性到枚举对象实例的相互映射需要自定义TypeHandler,可以在code属性上添加注解。HTTPMessageConverter枚举类型转化的规则也是默认枚举实例对象与枚举名称之间的转化,要是想要枚举实例对象与code属性进行转化,我们只需要在该属性上添加@JsonValue即可。但是当我们查询数据的时候发现type是枚举实例对象名称,但我们的目的是返回相对应的code。可以进行一些基础的数据类型的转化,也可以进行枚举类型。但枚举类型的转化的默认规则是枚举。
2025-05-22 11:26:41
203
原创 在前端输入String类型的数据转化为枚举实例的方法
throw new IllegalArgumentException("code:" + code +"不存在");让所有枚举类实现父类接口,只需要创建一个工厂即可实现所有的枚举,通过前端传入的String类型转化为枚举实例。//如果传入的code与该属性里的code一样则返回该实例。// 获取该枚举中所有的实例。// targetType意思是获取父类BaseEnum相对应的子类。
2025-05-22 10:45:49
294
原创 保存或更新支付方式
Component 是 Spring 框架中的一个注解,用于将一个普通的 Java 类标记为 Spring 容器管理的 Bean。通过使用 @Component 注解,Spring 可以自动检测和实例化这些类,并将它们注入到需要的地方,从而实现依赖注入和控制反转。由于保存和更新的时候前端不会传入is_deleted,create_time,update_time这三个字段,需要我们手动传入,但每张表手动输入会很繁琐,为了简化该操作可以用以下操作进行。·我们可以在建表的时候对该字段设置默认值为0。
2025-05-21 20:37:14
517
原创 逻辑删除功能
注意:逻辑删除功能,只对Mybatis-plus自动注入的sql起效(即通用mapper与通用server),自己写的sql不写效果。例如:当字段is_deleted = 1 时候删除,上述操作可以通过mybatis-plus提供的逻辑删除功能。logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)logic-delete-value: 1 # 逻辑已删除值(默认为 1)@Schema(description = "逻辑删除")is_deleted = 1 删除该表。
2025-05-21 19:55:16
347
原创 通过java代码操作minio中
minioClient.uploadObject(UploadObjectArgs.builder().filename("C:\\Users\\Lenovo\\OneDrive\\Desktop\\aa.jpg").bucket(BucketName).object("图片").build());// 设置访问权限。// 设置访问权限。// 开始创建桶。判断是否已经存在想要建立的桶。// 创建桶。
2025-05-20 16:40:16
1767
原创 minio的核心概念
端点是minio的网络地址,用于存储桶和对象,例如,http://192.168.82.120:9000。Secret Key与Access Key关联的密码,用于验证访问者的身份。Access Key是标识与验证访问者身份的唯一标识,类似用户名。用于组织对象的命名空间,类型文件夹,可以包含多个对象。注意:9000是minio的默认端口。对象是实际的数据单元,例如,上传的图片。
2025-05-20 14:25:18
259
原创 BigDecimal
/ 无法除尽,抛出 ArithmeticException 异常。BigDecimal的方法-加减乘除。一般通过BigDecimal的。作用:避免精度丢失的问题。
2025-05-09 10:16:27
320
原创 静态方法与实例方法的区别
2.对象.方法名(不推荐,因为静态方法属于类的而不是某一个对象),静态方法访问本类成员时,只允许访问静态成员,.静态方法: 1.类名.方法名。二.访问类成员是否存在限制。实例方法不存在这个限制。
2025-05-08 22:11:09
170
2
原创 基本类型和包装类型的区别
成员变量未被static修饰存储在堆中。包装类型(属于对象类型)存储在堆中。默认值:基本数据类型有默认值且必须不能为 null, 包装类型不赋值为Null。对于基本数据类型==比较的是值,包装类型比较的是内存地址。用途:基本类型不能使用泛型,包装类型可以使用泛型。存储方式:基本数据类型的局部变量存储在栈中,占用空间:基本数据类型比包装类型占用的更少。
2025-05-08 21:46:21
107
原创 jdk,jre,jvm
开发和调式java程序的工具。字节码:jvm可以理解的代码(扩展名为.class的文件)java Class Library;生成字节码文件(.class文件)JDK,JRE,JVM,JIT四者的关系。jre:提供java运行的环境与类库。java程序从源代码到运行的过程如下。用于创建和编译java程序。jvm:提供Java运行的环境。
2025-05-08 21:17:25
209
原创 java代理模式
new DebugInvocationHandler(target) // 代理对象对应的自定义 InvocationHandler。target.getClass().getInterfaces(), // 代理需要实现的接口,可指定多个。target.getClass().getClassLoader(), // 目标类的类加载器。//调用方法之后,我们同样可以添加自己的操作。//调用方法之前,我们可以添加自己的操作。接口的实现类(通过动态代理创建)。* 代理类中的真实对象。
2025-04-28 19:26:33
781
原创 java中的反射机制
获取 TargetObject 类的 Class 对象并且创建 TargetObject 类实例。//class类是JVM在运行时,对类的一种描述,包含了类的所有信息(如,属性,方法等)//newInstance相当于new 创建一个实例对象,获取TargetObject类。// 第一个参数是方法名,第二个参数的方法的参数的类型。// 执行已经获取的方法,以后面括号内的字符串为形参进行。//为了对类中的参数进行修改我们取消安全检查。//获取Class类的一种方法。
2025-04-28 14:52:13
435
原创 redis分布锁
字符串中推荐格式:productId-1-stock。竞争失败的线程被禁用,在获取锁之前,该线程会休眠。所以推荐把业务放在try...catch..finally。以及要在application.properties中配置redis的ip,端口,密码等。无论如何finally{}代码块都一定会执行,所以把解锁放在该代码块中,防止死锁的发生。通俗点说:抢不到锁的线程会持续等待。得到一个Redis锁对象。注意:有上锁一定要有解锁,否则会形成死锁。1.在spring boot 中集成。
2025-04-20 17:13:15
236
原创 Xshell连接上服务器
出现:Welcom to ...即代表连接成功。用户名是服务器的用户名(默认root)协议选SSH,端口号默认22即可。1.首先打开Xshell。3.设置名称,服务器公网。4.点击左边用户身份验证。5.点击右上角的确定即可。2.点击左上角的新建。主机就是服务器的公网。
2025-04-18 00:15:10
3129
原创 java中的接口理解
c.send()//则调用的是a中的方法。c.send()//则调用的是b中的方法。比如:两个类,A与B类同时实现了一个接口c。
2025-04-17 11:04:36
209
原创 序列化与反序列化
反序列化是将json转化成java对象的形式,使用JSON.parseObject(字符串,类名.class)message是字符串数据,Notify是类名,将从kafka中获取的信息。总结:序列化是将java对象转化成json的形式,使用JSON.toJSONString(类);// 序列化:将对象转换为 JSON 字符串。第二个参数是类名加上.class。使用json.toJSONString():将Json的形式转化成java对象的形式。第一个参数是字符串类型。:将java对象转化成json的形式。
2025-04-17 10:39:41
357
原创 Kafka消费者-Spring Boot中使用
(1)注解@KafkaListener(topics={""})这里写的主要是生产者发送的主题名,(4)Optional.ofNullable是一种更优雅、更安全的方式来处理可能为。>主要 是为了表示数据类型为k-v类型。注意:ConsumerRecord。更适合未知的数据类型。(5)record.value()是该主题下相应的值。如果传入的值是null,那么。对象时,如果传入的值是非null的,那么。对象中包含了一个非null值,
2025-04-16 21:04:21
266
原创 kafka生产者-消费数据
同一主题的消息不同分区如何分流呢。问题:不同的消费者如何分配同一主题的消息呢。Kafka消息消费者-KafkaConsumer。由此引出新的概念-消费者组。接受订阅(生产者)的信息的我们叫作。
2025-04-16 20:27:09
206
原创 kafka生产者-SpringBoot中的使用
然后我使用kafka的k-v的数据类型都是String。不清楚kafka的结构的可以看下图的左边部分。端口号,是自己服务器开放端口。公网,是自己服务器的公网。基本配置就是这些对于公网与端口号。
2025-04-16 20:18:02
124
原创 kafka生产者-写入数据
约定我们的消息体是ProducerRecord<String,String>类型。2.在java中,kafka消息使用类ProducerRecord<K,V>表示。提出了一个分区的概念(Partition)kafka的完整流程。
2025-04-16 19:58:57
257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅