- 博客(83)
- 收藏
- 关注

原创 MybatisPlus--QueryWrapper
QueryWrapperwrapper介绍Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件QueryWrapper : Entity 对象封装操作类,不是用lambda语法UpdateWrapper : Update 条件封装,用于Entity对象更新操作AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。Lambda
2021-12-20 15:18:31
5587

原创 Vi编辑器 终端编辑器命令
VI编辑器 终端编辑器1.1 学习vi的目的在工作中, 要对 服务器上的 文件进行 简单 的修改, 可以使用 ssh 登录到远程服务器上, 并且使用 vi编辑器 进行简单的编辑即可需要修改的文件包括源代码配置文件例如: tomcat服务器的配置文件例如: 1.网卡信息的配置文件 在没有图形界面的环境下, 要编辑文件, vi是最佳选择 2. 每一个使用linux的程序员,都应该或多或少的学习一些vi的常用命令1.2 vi 和 vimvi是 visual interface的简称, 是
2020-10-14 21:13:32
1692
7
原创 pwdLockUtil
工具类用于管理用户账户的锁定和解锁功能,通过记录失败尝试次数和锁定时间来防止暴力破解攻击。通过这种方式,可以增强系统的安全性,确保用户账户不被恶意攻击者轻易突破。
2024-06-26 16:14:29
411
原创 权限字符串的结构
通过解析每个字符,可以了解文件类型以及不同用户(所有者、组用户和其他用户)的访问权限。掌握这些字符的含义有助于有效地管理文件系统中的权限设置。权限字符串在Unix和Linux文件系统中。
2024-06-26 15:15:01
701
原创 TemporalAccessorUtil
是与Java 8引入的日期时间API的一部分,用于。通常与Java中的日期和时间处理有关,特别是与。可能是一个自定义的工具类,用于简化和辅助对这些。以下是一个简单的示例,展示如何实现一个基本的。对象进行加减操作,例如加一天、减一小时等。:在不同的日期时间类型之间进行转换,例如从。中提取年、月、日、小时、分钟、秒等信息。对象格式化为字符串,或从字符串解析为。
2024-06-26 14:50:09
362
原创 ProceedingJoinPoint
方法,可以控制目标方法的执行,并在方法执行前后执行自定义操作。在你的 Spring Boot 主类中启用 AOP 支持。,这在日志记录、事务管理、安全控制等方面非常有用。切面将拦截方法调用,并输出方法名称、参数和结果。定义一个简单的服务类,该类的方法将被切面增强。下面是一个使用 Spring AOP 和。中引入了Spring AOP 的依赖。方法,可以继续执行目标方法,而在。方法调用之前和之后执行自定义逻辑。的子接口,它提供了一个。创建一个切面类,并使用。启动应用程序后,当调用。
2024-06-24 16:57:22
777
原创 MethodArgumentNotValidException
通过使用验证注解、控制器中的异常处理方法或全局异常处理器,有效地捕获和处理验证错误,并向客户端返回友好的错误信息。通常在使用 Spring MVC 或 Spring Boot 时,当请求体中的数据未通过验证注解(如。假设你有一个 REST 控制器,它接收一个包含验证注解的对象作为请求体。等)的检查时,会抛出此异常。字段的长度小于 2 个字符,是 Spring 框架中。
2024-06-24 16:55:11
1313
原创 HttpStatus状态码
通常指的是 HTTP 状态码,它们是由服务器在 HTTP 响应中返回的三位数字代码,用于指示客户端请求的结果。这些状态码分为五大类,每一类的第一个数字表示其类型。
2024-06-20 14:28:05
482
1
原创 Memory use report提示信息
这段信息是 IntelliJ IDEA 报告的一条消息,表明在运行过程中遇到了内存问题,并生成了一份堆内存转储文件(heap dump)。你可以查看 IntelliJ IDEA 提供的内存分析报告,找出内存使用异常的地方。通过 IntelliJ IDEA 的内存报告和堆转储分析,你可以深入了解并解决应用程序中的内存使用问题,提高应用程序的性能和稳定性。解决内存使用问题通常需要几个步骤,包括分析堆转储文件,找出内存使用问题的根源,并采取相应的措施。假设你通过堆转储文件发现某个大集合(如。
2024-06-19 16:45:05
931
原创 SpelExpressionParser评估SpEL(Spring Expression Language)表达式的解析器
是Spring中用于解析和评估SpEL(Spring Expression Language)表达式的解析器,SpEL是一种强大且灵活的表达式语言,广泛用于Spring框架中,以便在运行时解析和评估表达式。合理使用 SpEL 能够极大地增强应用程序的灵活性和动态性。:支持对集合和数组的操作,如过滤,投影,索引等;:提供了一些内置函数,如字符串操作,日期操作等;可以解析复杂的表达式,并在运行时对其进行评估;:可以通过表达式访问对象的属性和方法;:支持常见的数学,逻辑和关系运算符;:可以在表达式中调用方法;
2024-06-19 16:31:24
714
原创 ModelAndView
开发者可以方便地将处理结果中的数据传递给视图层,并指定使用哪个视图来渲染这些数据。这样不仅简化了代码结构,还实现了数据和视图的分离,增强了代码的可维护性和扩展性。是SpringMVC框架中的重要类,结合了模型数据和视图信息,将控制器处理结果中的数据和视图封装在一起,以便将其传递给视图层进行渲染。是Spring MVC框架中的核心类,用于在控制器中同时传递模型数据和视图信息。如何在Spring MVC控制器中使用。: 返回模型数据的Map。: 添加单个模型数据。: 添加多个模型数据。
2024-06-19 15:12:41
608
原创 Principal包含用户的基本身份信息抽象类
对象注入到控制器方法中,获取当前认证用户的详细信息,并将其添加到模型中以便在视图中使用。,包含用户的详细信息,包括用户名,密码,权限等,具体的应用中,Principal。对象,可以方便地获取当前登录用户的信息。在Spring Security中,(代表用户信息),还包含用户的认证状态和权限信息。接口一起使用,提供更丰富的用户信息和安全功能。如果需要获取更多的用户详细信息,可以将。在Spring Security中,在Spring Security中,在控制器方法中,通过。在这个例子中,通过将。
2024-06-19 14:21:04
632
原创 OAuth2TokenCustomizer添加自定义声明
通过实现这个接口,开发者可以灵活地控制令牌的内容,确保令牌包含必要的信息,从而增强系统的安全性和灵活性。接口通常定义一个方法,如。
2024-06-14 10:27:53
480
原创 设置 OAuth2 访问令牌的签发时间 (issuedAt) 和过期时间 (expiresAt)
它广泛应用于 OAuth2 认证和授权流程中,通过准确设置令牌的有效期,提升系统的安全性和可靠性。上述代码用于设置OAuth2访问令牌的签发时间和过期时间,在自定义的令牌生成器中,可以通过注入。示例1:OAuth2 认证服务器。,特别是在生成访问令牌时。示例2:自定义令牌生成器。
2024-06-13 16:59:01
1082
原创 自定义令牌生成规则实现
这个类 CustomeOAuth2AccessTokenGenerator 是一个自定义的 OAuth2 访问令牌生成器,它实现了 OAuth2TokenGenerator 接口,用于生成带有自定义声明的 OAuth2 访问令牌。通过注入自定义的令牌定制器,可以在生成访问令牌时添加额外的用户信息或进行其他自定义操作,这种组合令牌生成器可以在OAuth2的授权服务器中使用,生成和管理各种类型的OAuth2令牌;是一个自定义的 OAuth2 访问令牌生成器,用于生成带有自定义声明的访问令牌。
2024-06-13 16:50:13
543
原创 HttpSecurity
防御CSRF攻击的方法包括使用CSRF token , Referer验证 ,双重提交Cookie和设置SameSite Cookie;Spring Security 提供了内置的CSRF保护机制 ,通过简单配置启用和定制这个功能,以确保应用程序的安全性;这是Spring Security提供的配置类, 用户保护基于HTTP的请求 ,通过。,通过诱导用户在不知情的情况下执行恶意操作;
2024-06-12 09:40:39
1269
原创 @SuppressWarnings(“unchecked“)
在 Java 中,编译器会对一些操作产生警告。例如,当你在使用泛型时进行类型转换,如果编译器无法确保这种转换是类型安全的,就会产生一个未经检查的类型转换警告。在某些情况下,程序员知道特定的代码块中可能会产生类型转换警告,但他们确信代码是安全的,因此使用这个注解来告诉编译器忽略这些警告。: 当你必须与不使用泛型的旧代码或库交互时,你可能会遇到原始类型与泛型类型混用的情况。: 需要在泛型类中实例化泛型类型时,可能需要进行类型转换。: 使用反射创建实例或调用方法时,可能会遇到类型转换警告。
2024-06-04 16:12:00
1683
原创 关于“使用java中的二维矩阵方法生成二维码“ 以及 “Java加载外部字体文件时出错的原因“
3.在确保文件没有被破坏和已经加载了依赖的情况下还是无法加载成功的话,这个时候我们就需要查看服务器上的文件夹下是否存在我们需要的字体文件,首先,在DockerFile文件中添加一行Copy外部文件的命令。,最好的测试方法就是:自己在postman上测试,如果生成的字体是系统默认的,那就是坏的,如果生成的字体是我们想要的字体,例如代码所示,使用该方法排除是否字体文件已经破坏。上述代码中,可谓是耗费了我十足的精力,在自己本地测试时,因为我们的系统文件,也就是"
2024-04-12 17:57:14
677
2
原创 测试新增数据时报Result Maps collection does not contain value for cn.shanxincd.plat.ptp.dao.错误
Result Maps collection does not contain value for cn.shanxincd.plat.ptp.dao.
2024-03-15 11:04:32
293
原创 ReloadableResourceBundleMessageSource 国际化配置
对于典型的web应用程序,消息文件可以放在web-INF中:例如,“web-INF/messages”基名称会找到“web-INF/messages.properties”、“web-IF/messages_en.properties”等排列,以及“web-INF/messages.xml”、“web-INF/messages.en.xml”等。有了“classpath:”前缀,资源仍然可以从类路径加载,但在这种情况下,除了“-1”(永远缓存)之外的“cacheSeconds”值可能无法可靠地工作。
2023-07-04 14:38:19
1275
转载 关于limit的使用场景
当我们写sql语句的时候需要进行全表扫描,前提我们已经确认返回的结果只有一条数据的时候,使用limit(1),因为使用limit(1)之后,在查询过程中找到满足条件的那一条的数据记录的时候,就不会继续扫描全表了,而是直接返回数据结果;当我们所查询的字段对应的是唯一索引字段时,就不需要使用limit(1)了,因为唯一索引在查找到满足一条记录的时候就不会往下继续找了,因为唯一索引的原因;如果email是索引的话,就不需要加上LIMIT 1,如果是根据主键查询一条记录也不需要LIMIT 1,主键也是索引。
2023-03-01 10:04:47
780
原创 畅购商城项目--(用户模块+用户注册【用户名占用】)
搭建环境4.1.1 后端web服务:changgou4-service-web修改pom.xml文档<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven
2021-12-24 15:09:26
590
原创 畅购商城项目--搭建项目(仅项目架构)(后端+前端)
本项目供学习使用,包含静态页面和后端javabean,因为代码量的缘故,私信我获取1.1 电商行业分析近年来,世界经济正向数字化转型,大力发展数字经济成为全球共识。党的十九大报告明确提出要建设“数字中国”“网络强国”,我国数字经济发展进入新阶段,市场规模位居全球第二,数字经济与实体经济深度融合,有力促进了供给侧结构性改革。电子商务是数字经济的重要组成部分,是数字经济最活跃、最集中的表现形式之一。我国电子商务交易规模继续扩大,全国电子商务交易额达保持高速增长。国家统计局数据显示,2017年29.16万亿
2021-12-22 11:13:36
14986
原创 MybatisPlus-插件机制-乐观锁-逻辑删除-通用service
插件机制自动填充项目中经常会遇到一些数据,每次都使用相同的方式填充,例如记录的创建时间,更新时间等。我们可以使用MyBatis Plus的自动填充功能,完成这些字段的赋值工作原理实现元对象处理器接口:com.baomidou.mybatisplus.core.handlers.MetaObjectHandler,确定填充具体操作注解填充字段:@TableField(fill = …) 确定字段填充的时机FieldFill.INSERT:插入填充字段FieldFill.UPDATE:
2021-12-21 16:57:24
436
原创 大数据导论题库
选择题1.下面哪个程序负责 HDFS数据存储:( C )A. NameNodeB. JobtrackerC. DatanodeD. secondaryNameNode2.HDfS 中的 block 默认保存几份:(A)A.3份B.2 份C.1 份D.不确定3.下面哪个程序负责HDFS数据存储:( C )A.NameNode B.Jobtracker C.Datanode D.secondaryNameNode4.HBase来源于哪篇博文:( C )A.The Google
2021-12-20 15:43:35
4692
原创 MyBatis Plus
概述简介MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特点无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用:
2021-12-20 15:04:23
194
原创 大数据面试题
Hive理论知识汇总1、 Hive和数据库比较Hive 和数据库除了拥有类似的查询语言,再无类似之处。1)数据存储位置Hive 存储在 HDFS 。数据库将数据保存在块设备或者本地文件系统中。2)数据更新Hive中不建议对数据的改写。而数据库中的数据通常是需要经常进行修改的,3)执行延迟Hive 执行延迟较高。数据库的执行延迟较低。当然,这个是有条件的,即数据规模较小,当数据规模大到超过数据库的处理能力的时候,Hive的并行计算显然能体现出优势。4)数据规模Hive支持很大规模的数据计算
2021-12-17 16:02:25
1234
原创 Nuxt.js查询学生列表案例
查询所有的班级:后端父工程pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mave
2021-12-17 14:52:14
526
1
原创 Vuex 状态树
根模块数据操作步骤一:创建 store/index.js 添加一个 counter变量,并可以继续累加操作export const state = () => ({ counter: 0})export const mutations = { increment (state) { state.counter++ }}步骤二:在页面中,使用<template> <div> 首页 {{counter}} <inpu
2021-12-16 11:11:11
1137
空空如也
Java导出excel数据最后一行合计
2023-06-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人