自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 尚庭公寓的技术替代

使用阿里云的oss存储服务代替。1.对象存储服务-minio。使用阿里云的服务器代替。

2025-06-02 22:32:23 118

原创 学到新的日志方法mp

不需要在定义变量log,注意日志只能在方法内使用,不能在方法外进行使用。使用mp技术的时候可以在类上加上注解@Slf4j。

2025-06-02 22:32:02 194

原创 mybatisplus的总结

该项目主要是让我通过定义好的接口书写sql,技术不难,比较繁琐,redis几乎没有用到,用的最多的是mp,SpringMVC等,后面的nginx也没看。//创建分页查询对象,第一个参数是current,第二个是size。继承ServiceImpl<UserMapper,User>,第一个是User对应的mapper,第二 个是对应表名的实体类s。继承IService<User>,User是对应数据库的表名。

2025-06-02 21:24:00 2003

原创 ngnix中 的代理

代表客户端向服务器发送请求。代表服务器接受客户端的请求。代理分为正向代理与反向代理。

2025-06-01 22:54:25 97

原创 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

原创 java中的定时期

1.在启动类添加注解@EnableScheduling。在需要运行 的方法上添加注解@Schedule。

2025-05-27 18:16:30 207

原创 修改向前端传递的日期格式

注意:yml的格式区分,以及自己数据库的时区是否也是GMT+8,可以自己上网查询然后查询mysql的时区。在配置中添加某种配置如,yml或.properties后缀的文件名。在类中的某属性上添加注解@JsonFormat注解。缺点:如果所有字段的日期格式不同就推荐第一种方式。让Mybatis与mysql的时区保持一致。好处:修改所有的日期格式。例(yml格式下的)

2025-05-26 22:46:32 198

原创 mybatis中的自动映射

只需要补充他们的主键id即可。

2025-05-25 23:46:11 273

原创 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

原创 @RestController的作用

将方法返回的数据序列化为json返回给前端。

2025-05-21 20:02:25 122

原创 逻辑删除功能

注意:逻辑删除功能,只对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

原创 尚庭公寓-@Data

lombok下的@Data对类可以自动生成set,get,toString方法,类中不需要再进行书写。

2025-05-19 16:31:21 136

原创 atguigu

2025-05-19 15:33:22 106

原创 尚庭公寓-自动打印sql语句

自动打印sql语句。

2025-05-19 15:32:59 134

原创 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关注的人

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