一、前言 Lombok能以简单的注解形式来简化Java代码,提高开发人员的开发效率。比如我们在开发中经常需要添加实体类的getter/setter方法、equals方法和hashcode方法等。当属性过多的情况下我们需要书写很多的这种代码,造成代码冗长。Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString等方法。 二、SpringBoot集成Lombok 1.添加依赖 <dependency> <groupId>org.projectlombok</groupId> &...

  19qMgiCiiRfc   2024年01月26日   17   0   0 SpringBootspringbootLombokLombok

一、前言 CompletableFuture是JDK1.8提供的一种更加强大的异步编程的api。它实现了Future接口,也就是Future的功能特性CompletableFuture也有。它也实现了CompletionStage接口,CompletionStage接口定义了任务编排的方法,执行某一阶段,可以向下执行后续阶段。 CompletableFuture相比于Future最大的改进就是提供了类似观察者模式的回调监听的功能,也就是当上一阶段执行结束后,可以回调你指定的下一阶段任务,而不是阻塞获取结果之后来处理结果。 二、常用方法 1.异步操作 方法 说明 runAsy...

一、前言 在我们日常的开发中,定时任务是非常普通的功能,它可以帮助我们定期完成一些重复性的操作,比如数据备份、定时清理、数据统计等。Springboot提供了很方便的定时处理机制,为我们管理定时任务带来了极大的便利。通常我们也需要定时任务根据我们的设置动态开启定时处理。 二、SpringBoot集成 1.添加依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <depen...

一、前言 Memcached是一款高性能的分布式内存对象缓存系统,可以用来缓存SQL查询结果、API调试结果等。使用Memcached可以减少对数据库的查询次数,提高系统性能。它主要用于减轻数据库负载,提供应用系统,减少数据库压力。SpringBoot可以快速集成Memcached实现对缓存到读写操作。 二、安装和配置 下载和安装Memcached我们可以下载我们系统的相关版本。 我们下载好之后,解压文件夹得到下面文件。 运行方法: 我们需要命令行到当前目录执行以下命令。 1.先安装服务memcached.exe-dinstall以管理员身份运行。 2.启动服务memcached.exe-...

一、前言 在我们当前的开发中,消息队列已经成为了不可或缺到一部分。消息队列是一种应用之间到通信方式,消息发送后可以立即返回,由消息系统来确保信息到可靠传输。消息发布者只需要把消息发布并传输到队列中,消息使用者只需要从队列中取走消息并处理,这样发布者和使用者都不需要知道对方到存在,从而达到解耦的目的。 消息是指应用之间传送到数据,消息的内容可以非常简单,比如简单的文本字符串等,也可以非常复杂,包括对象等。 RabbitMQ作为一款高可用、高可靠、高性能到消息队列中间件,被广泛应用于各种场景中,如异步任务、实时数据推送等。SpringBoot可以快速的集成RabbitMQ搭建高效到消息队列服务。 ...

一、前言 我们在日常开发中,一个业务通常需要对数据库进行多个操作,但是数据库在操作的过程中,任何一步操作都有可能会发生异常,发生异常之后的数据通常是不可靠的,如果没有进行事务管理的情况下,发生错误之前的数据会被添加到数据库中,导致出现数据问题。我们遇到这种情况应该回退本次操作的所有过程,让操作恢复到原始状态位置,如果操作过程中没有遇到异常才可以提交所有数据处理。 我们该怎么样使用事务呢? 二、概念 事务就是一组操作数据库的动作集合,事务是现代数据库理论中核心概念之一。如果一组处理步骤全部发生或者一步也不执行,我们称这样的处理步骤为一个事务。当所有的步骤像一个操作一样被完整的执行,我们称该事务被...

一、前言 循环冗余校验(CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。CRC是一种用于校验通信链路上数字传输正确性的计算方法,通过某种数学运算来建立数据位和校验位的约定关系。CRC是利用除法及余数的原理来做错误检测的。CRC16从性能和开销上,均优于奇偶校验、算术和校验等方式,在数据存储和数据通信领域应用得比较广泛。 CRC16,16代表二进制的位数,一个字节8位,两个字节16位,CRC16就是包含了16位的二进制值。 二、集成SpringBoot 1.引入依赖 <dependency&gt...

  19qMgiCiiRfc   2023年12月15日   15   0   0 SpringBootCRCspringbootCRC

一、前言 在我们日常的Web应用开发中,数据库的操作不可避免。而SpringBoot做为一款快速开发的框架,有着优秀的集成能力,可以快速集成其他框架。MyBatis是一个优秀的ORM框架,可以大大的简化我们的数据库操作。我们使用SpringBoot集成Mybatis可以让我们实现高效的MySQL增删改查的操作,大大提高开发效率。 二、SpringBoot整合MyBatis 1.引入依赖 我们主要引入Mybatis依赖和MySQL依赖。 <dependency> <groupId>org.projectlombok</groupId> <a...

  19qMgiCiiRfc   2023年12月12日   15   0   0 SpringBootspringbootMyBatismybatis

一、前言 在Web开发中,我们常常需要对API接口的返回结果进行统一的包装,以方便客户端对数据和异常情况的统一处理。我们可以自定义返回接口结果包装类。 二、创建返回结果枚举类 packagecom.example.hellodemo.enums; / @authorqx @date2023/11/30 @des返回结果枚举类 / publicenumResultTypeEnum{ SUCCESS(0,"成功"),FAILURE(1,"失败"); privatefinalintcode; privatefinalStringmsg; ResultTypeEnum(intcode,Stri...

一、前言 在Web开发中我们需要和前端进行数据的交互,这个时候就需要获取前端传入的数据,我们一般有如下几种方式进行数据的交互:@PathVariable、@RequestParam和@RequestBody。 二、@RequestParam 获取传输过来的参数。 举例:使用@RequestParam获取不同类型的参数 packagecom.example.hellodemo.controller; importorg.springframework.web.bind.annotation.; importjava.util.HashMap; importjava.util.Map; ...

一、前言 SpringBoot的静态资源映射功能,我们可以轻松地将前端页面展示出来。我们在Web应用中会涉及大量的静态资源,例如图片、Js、CSS和HTML等,我们知道在SpringMVC中导入静态资源文件的时候需要配置静态资源的映射,但是在SpringBoot中则不需要进行这个配置,因为SpringBoot已经默认完成了这个工作。 SpringBoot默认为我们提供了以下3种静态资源映射规则,分别如下: 1.WebJars映射 2.默认资源映射 3.静态首页映射 二、WebJars映射 WebJars其实就是为了解决SpringBoot项目以jar包的形式部署且不存在webapp目录而存在的...

一、前言 配置文件是一项非常重要的内容,它们通常用于存储应用程序的各种设置和配置选项,包含数据库连接信息、日志级别设置、端口设置等,可以根据情况切换不同的环境,因此良好的配置文件管理可以帮助我们应对多环境配置管理。我们学习常用的两种配置文件格式:YAML和Properties。 二、配置优先级 在SpringBoot中,有4个地方可以存放配置文件,并按照优先级从高到低排列如下: 1.项目根目录的config目录下 2.项目根目录下 3.resource目录的config目录下 4.resource目录下 三、Properties配置文件 Properties文件是Java应用程序中常用的配置...

一、简介 正常情况下我们开发的时候都是使用一个数据源,但是由于有些项目同步数据的时候不想造成数据库iO消耗压力过大,便会一个项目对应多个数据源,但是我们如何配置多个数据源呢?今天我们使用Springboot中为了解决多数据源而创建的启动器:dynamic-datasource-spring-boot-starter,这是一个基于SpringBoot快速集成多数据源的启动器。 二、项目集成 1.引入依赖 <!--配置多数据源--> <dependency> <groupId>com.baomidou</groupId> <artifactI...

一、JS JavaScript是一种轻量级的编程语言,用于定义HTML的行为。它与Java没有关系。JS脚本必须位于<script>与</script>标签之间。 常用输出方法: window.alert():弹出警告框 document.write():将内容写到HTML文档中 innerHTML:写入到HTML元素 console.log():打印到浏览器的控制台 <!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>Titl...

  19qMgiCiiRfc   2023年12月06日   15   0   0 XSS事件JS

一、简介 跨站脚本攻击(XSS)是指恶意攻击者在Web页面中插入恶意javascript代码或html代码。当用户浏览网页的时候,嵌入Web里面的javascript代码会被执行,从而达到恶意攻击用户的目的。XSS漏洞通常是通过php相关函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以XSS漏洞的关键就是寻找参数未过滤的输出函数。 二、XSS的类型 反射型XSS/不持久型XSS 一般都是直接输出 <?php $name=$_GET['name']; echo'myname:<br>'.$name; 如果我们在浏览器地址输入javasc...

  19qMgiCiiRfc   2023年12月06日   16   0   0 XSS防御

一、前言 Quartz是一个非常好的定时任务框架,它的轻量级、高可靠性、易于使用的特点,使得它成为一个非常受欢迎的任务框架。这篇文章中我们将介绍如何使用SpringBoot整合Quartz并将定时任务写入数据库中,并对定时任务进行如启动、删除、暂停、恢复等操作。 二、整合Quartz 1.添加相关依赖 <?xmlversion="1.0"encoding="UTF-8"?> <projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance...

一、简介 Pikachu是一个带有漏洞的Web应用系统,这里面包含了常见的Web安全漏洞。在这里你可以进行Web漏洞的相关学习。而且是中文平台,我们可以很方便的进行使用。 Pikachu靶机项目下载地址: https://gitcode.com/mirrors/zhuifengshaonianhanlu/pikachu/tree/master 二、Wampserver集成环境 下载Wampserver集成环境,这个去网上找下载资源就可以了,我们下载好之后,点安装就可以了。安装好之后在桌面的右下角会出现类似的图标。 点击这个图标,右键可以切换为中文。也可以点击phpMyAdmin进入修改数据...

  19qMgiCiiRfc   2023年12月02日   19   0   0 Pikachu webWampserver

RedisTemplate.opsForZet()是RedisTemplate类提供的用于操作Zset类型(有序集合)的方法。它可以用于对Redis中的Zset数据结构进行各种操作。添加、删除、排序、获取。 一、常用方法介绍 方法 说明 add(Kkey,Vvalue,doublescore) 向指定的key中添加元素,按照score进行排序 range(Kkey,longstart,longend) 获取指定范围内的成员集合(按低到高排序) reverseRange(Kkey,longstart,longend) 获取指定范围内的成员集合(按高到低排序) inc...

  19qMgiCiiRfc   2023年11月22日   14   0   0 rediszsetzsetRedis

一、概念 Java序列化是指把Java对象转换为字节序列的过程。 Java反序列化是指把字节序列恢复为Java对象的过程。 序列化作用: 在传递和保存对象时,保存对象的完整性和可传递性,对象转换为字节流,可以站网络上传输或者保存在本地文件中。 反序列化作用: 根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。 缺点: 无法跨语言是Java序列化最致命的问题。 对于跨进程的服务调用,服务提供者可能是Java之外的其它语言,当我们需要和其它语言交互时,Java序列化就难以胜任。 二、序列化和反序列化注意事项 1.Java序列化的方式 实现Serializable接口:可以自定义write...

一、概念 Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本的变量、数组和对象的引用,堆内存主要存放一些对象。在JVM加载一个类的时候,如果这个类存在static修饰的成员变量和方法,则会为这些成员变量和成员方法在固定的位置开辟一个固定大小的内存区域,有了这些固定的特性,那么JVM可以非常方便的访问他们。同时被static修饰的成员变量和成员方法是独立于该类的,它不依赖于某个具体的实例变量,也就是说它被该类所有实例共享,所有实例的引用都指向同一个地方,任何一个实例对其的修改都会导致其他实例的变化。 二、优缺点 优点: 1.属于类级别,不需要创建对象就可以直接使用类名调用。 2.全局唯...

  19qMgiCiiRfc   2023年11月19日   13   0   0 staticJavaJavastatic
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~