自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 收藏
  • 关注

原创 JAVA程序设计-对象设计

无论是根据某马还是某谷的适配教程做项目时候,发现了大部分都是重复的crud,大部分只要做好笔记复习即可,但是却往往忘记了编码设计,所以这里开始复习编码设计,对象设计中,长期使用Mp的那一套导致就是Service Mapper,一套梭哈完了,这样很容易忘记基本功夫。

2024-04-17 23:33:27 1221

原创 Spring中的数据校验---JSR303

上诉的步骤中,校验失败,不满足条件的会抛出异常,所以为了和前端配合需要进行自定义异常处理,返回前端一个json,而不是服务端抛出异常在需要返回json的校验bean后跟,BindingResult,校验绑定结果类,对异常进行处理//// 形参单个添加这个可以,但是批量很难实现,为此需要自定义异常处理// 需要取求掉该注解,才可以将异常抛出// 获取到错误字段// 获取到自定义的错误消息提示// 返回拼接的错误消息字符串})// 将错误消息用逗号分隔。

2024-03-03 20:08:23 1058

原创 git项目推荐 maku-boot低代码开发项目推荐

项目仓库地址官方gitee,这是他的官网用于做二次开发的脚手架在合适不过后端框架采用springboot3,security6,Mybatisplus2,jdk,各种oss的集合,判断ip地址等监控,用来作为源码学习和二次开发都是很好的教材代码基本都是mvc的二次封装,便于理解代码模块启动类模块只包含启动类,各个模块,业务在进行细分,也有点ddd领域设计的感觉。

2024-03-01 15:47:14 1124

原创 element-plus 的el-img组件访问oss图片自动拼接前端地址

这是我的组件代码访问时候 竟然凭借上了前端的地址端口原来是我的oss服务是使用了域名做cdn加速的内容分发网络(CDN)或者服务器配置,可能存在一些重写规则或配置el-img组件无法识别,就自动将请求的URL修改或添加前缀。

2024-03-01 15:21:28 567

原创 快速学习安全框架 Springsecurity最新版(6.2)--用户授权模块

上一节Springsecurity 用户认证Springsecurity 拥有强大的认证和授权功能并且非常灵活,,一来说我们都i有以下需求可以帮助应用程序实现以下两种常见的授权需求:用户-权限-资源:例如张三的权限是添加用户、查看用户列表,李四的权限是查看用户列表用户-角色-权限-资源:例如 张三是角色是管理员、李四的角色是普通用户,管理员能做所有操作,普通用户只能查看信息“Auth” 表示 “授权” Authorization“O” 是 Open 的简称,表示 “开放”连在一起就表示。

2024-02-22 19:27:22 1393 1

原创 快速学习springsecurity最新版 (版本6.2)---用户认证

​是 Spring 家族中的一个安全管理框架。目前比较主流的是另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富,但是shiro并不简便,这里轻量级安全框架更推荐国产安全框架satokensatoken官网​ 一般大型的项目都是使用来做安全框架。这些安全框架主要的内容包含以下功能模块​ 一般Web应用的需要进行认证和授权。​认证:验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户比如:购买东西前需要登录 ,预约前需要登录认证个人信息​。

2024-02-21 22:31:25 1495

原创 springboot整合dubbo3 及其中遇到的坑

之前以及了解过了springboot cloud 微服务的一系列框架,其中dubbo在3之前一直作为一款优秀的rpc框架存在(对标spring cloud中的feign组件),为此duboo3出以后,dubbo也逐渐变成了一个微服务整合平台,目前我进行学习的是个时候遇到很多坑dubbo x springboot 官方开发文档。

2024-01-30 14:29:01 623

原创 配置https---Nginx认证ssl证书

nginx作为前端的负载均衡服务器已经很熟悉了,项目需要使用https安全的时候就需要认证证书了。

2024-01-18 14:50:59 541

原创 快速入门Java NIO(Not I/O)的网络通信框架--Netty

Netty 是一个异步(基于多线程)的、基于事件驱动(多路复用的那写事件驱动)的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端末尾练习 简记 c/s各组件结构/*** 可以简单记忆是这是一个二级的关系* 通道是双向连接通道,客户端和服务器端都可以进行处理* 服务器端使用的是ServerSocketChannel 而客户端是SocketChannel* eventloopgroup 是相当于封装了nio中的各个触发事件。

2024-01-14 23:19:31 1078

原创 快速入门java网络编程基础------Nio

NIO(New I/O)是Java中提供的一种基于通道和缓冲区的I/O(Input/Output)模型。它是相对于传统的IO(InputStream和OutputStream)模型而言的新型I/O模型。NIO的主要特点包括:1.通道与缓冲区:2.NIO引入了通道(Channel)和缓冲区(Buffer)的概念。通道是对传统IO中的流的抽象,它可以支持双向数据传输。而缓冲区则是存储数据的地方,数据在通道和缓冲区之间传递。3.非阻塞IO:4.NIO提供了非阻塞I/O操作的能力。

2024-01-14 23:04:41 1400

原创 快速入门学习定时任务框架-xxljob

当前软件的架构已经开始向分布式架构转变,将单体结构拆分为若干服务,服务之间通过网络交互来完成业务处理。在分布式架构下,一个服务往往会部署多个实例来运行我们的业务,如果在这种分布式系统环境下运行任务调度,我们称之为分布式任务调度。将任务调度程序分布式构建,这样就可以具有分布式系统的特点,并且提高任务的调度处理能力:1、并行任务调度并行任务调度实现靠多线程,如果有大量任务需要调度,此时光靠多线程就会有瓶颈了,因为一台计算机CPU的处理能力是有限的。

2023-12-25 01:32:21 509

原创 学习mongoDb到SpringBoot整合看这一篇就足够了

MongoDB 是什么:MongoDB是一个基于文档的NoSQL数据库,用于处理大量的数据,并提供高性能、高可用性和易扩展性。相对于传统的关系型数据库,MongoDB采用文档的方式存储数据,每个文档是一组键值对的集合,类似于JSON格式。

2023-12-25 00:50:53 268

原创 前后端实现解析用户请求ip地址

在我的软件系统中,如果希望安全系数高一些的话,往往会有用户登陆行为表来记录用户登陆行为,保障用户账号安全,比如记录登陆地址,每次登陆时候读取数据最近几次登陆地点,进行账号安全验证假如以下是我的用户登陆行为表实现获取用户登陆地址的方法有很多种,比如通过前端整合第三方gps库发送地址,也可以通过整合ip地址来查询,我这里采取第二种,既然已经获取到了ip,那么就直接使用ip进行解析。

2023-12-22 00:04:08 369

原创 java编程者快速掌握ts变量类型

相较于JS而言,TS拥有了静态类型,更加严格的语法,更强大的功能;同样的功能,TS的代码量要大于JS,但由于TS的代码结构更加清晰,变量类型更加明确,在后期代码的维护中TS却远远胜于JS。它对JS进行了扩展,向JS中引入了类型的概念,并添加了许多新的特性。TS完全兼容JS,换言之,任何的JS代码都可以直接当成JS使用。当对变量的声明和赋值是同时进行的,TS编译器会自动判断变量的类型。所以如果你的变量的声明和赋值时同时进行的,可以省略掉类型声明。// 函数声明,指定参数类型和返回值类型。

2023-12-14 21:12:37 148

原创 Springboot快速整合kafka

生产者从服务器收到的错误有可能是临时性错误,在这种情况下,retries参数的值决定了生产者可以重发消息的次数,如果达到这个次数,生产者会放弃重试返回错误,默认情况下,生产者会在每次重试之间等待100ms。其中消息的序列化器和生产者一样,其次消费者单位是组,如果一个消费者组内只有一个可以接收信息,而有多个消费者监听该topic组,那么消息会发给每一个组,默认就是fanout扇出交换机。在 RabbitMQ 中,队列是消息的接收单元,每个消息只能被一个消费者接收,但不同队列的消息是相互独立的。

2023-11-30 23:35:45 611

原创 redis实现消息延迟队列

原本的模块是管理端完成文章的处理–>客户端的文章上架(保存到数据库还是修改库不需要关注),现在变成了:管理端完成了–>定时任务的处理–>时间到了–>客户端文章的处理,所以我们需要关注的就是任务处理的部分,因为这里假设的场景是微服务的场景下,所以就需要新建一个定时任务模块,并且将上述的taskService改为feign模块的远程调用接口。我们需要做的就是根据审核内容进行保存在文章表,设置是否上架到用户端,如果携带的发布时间比现在要大,说明是延迟任务,那么此时就涉及到延迟任务的实现。

2023-11-26 21:51:34 475

原创 @Scheduled注解 定时任务讲解

用于在Java Spring框架中定时执行特定任务的注解 @Scheduled,它能够指定方法在特定时间间隔或特定时间点执行。默认参数是cron,cron参数被用来定义一个Cron表达式,它代表了任务执行的时间规则参数如下。

2023-11-22 23:15:40 277

原创 maven配置文件

【代码】maven配置文件。

2023-11-21 20:13:11 98

原创 docker 部署hbase 并且java Api连接

因为docker内部集成了其他环境而其他环境 中的ip是docker id 所以需要在hosts中转换。俩个依赖出现log4j的依赖申明错误,所以这里需要排除,并且新建一个properties后缀的配置文件。2.在本机的hosts中注册docker的id。4.java api 调用。

2023-11-21 19:35:16 1173

原创 The bean ‘xxxxx‘, defined in class path resource [XXXXXXX]依赖定义冲突异常

本质上就是导入的依赖中出现了重名,ioc进行注入的时候会根据名字来,这样的话就会遭成依赖冲突,我的错误是解决方法:配置文件添加

2023-11-21 16:22:36 642

原创 springcloud整合seata我踩过的坑

当你的数据库是8之后,也许你的项目可以使用老驱动连接mysql,但是seata一定会报错,如果报错null指针,就要看看是否需要更换新驱动,并且有seata有些版本需要加时区。连接不上nacos 或者springcloud连接不上seata,这三个之前。先运行一个容器,把目录复制出来进行挂载。数据库连接失败导致seata无法启动。有版本依赖关系如果跨版本就会报错。

2023-11-20 15:53:53 139 1

原创 Springboot---整合对象储存服务MinIO

MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。它是与 Amazon S3 云存储服务兼容的 API。使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。

2023-11-08 23:38:01 314 1

原创 模板引擎技术---FreeMarker

模板引擎是一种用于生成动态内容的工具,它将数据和静态模板结合起来,生成最终的文档(通常是HTML、XML、JSON等格式),这些文档可以被浏览器或其他客户端解析并展示给用户。模板引擎的主要目的是将数据和表现分离,使得在不改变页面结构的情况下,能够动态地生成页面内容。在Web开发中,模板引擎通常用于构建动态网页。当用户访问一个网页时,服务器端的应用程序会处理请求,从数据库或其他数据源获取数据,然后将这些数据插入到事先定义好的模板中,生成最终的HTML页面,然后返回给用户的浏览器。

2023-11-01 17:40:56 610

原创 nginx 和gateway配置实现动静分离和反向代理

Nginx主要负责静态资源的服务,而Spring Cloud Gateway则负责动态的路由和请求过滤,将请求转发到相应的后端服务。lb://leadnews-user 和 lb://leadnews-article 是服务的名称,lb 表示使用负载均衡器。location /: 针对根路径的请求,在html/app-web/目录下寻找静态文件,如果找到则返回。这两个配置文件分别是Nginx和Spring Cloud Gateway的配置文件,它们用于构建网关服务,进行请求的路由和转发。

2023-11-01 00:34:03 810

原创 前后端登录的密码加密和解密

salt 盐,每一个用户在注册的时候随机生成一个盐,在做用户明文登录,转换成二次加密,然后根据用户的盐在进行一次加密保存到数据库,这样即使数据库被袭击,用需要大量时间来破解密码。在一个典型的前后端应用中,前端对密码进行加密后传给后端,后端再进行解密或验证。这通常涉及前端加密、后端解密或验证的相互配合。后端收到加密后的密码后,不进行解密,而是对密码进行相同的加密(使用相同的哈希函数或加密算法和密钥),然后与数据库中存储的加密后密码进行比对。前端可以使用各种加密库或算法对密码进行加密。

2023-10-30 19:12:50 1970

原创 枚举类型 表示不同的 HTTP 状态码和相应的错误消息

这种枚举的使用方式允许你在代码中使用这些常量来表示不同的 HTTP 响应状态,而不需要硬编码状态码和错误消息。例如,你可以使用 AppHttpCodeEnum.SUCCESS.getCode() 来获取成功状态码,使用 AppHttpCodeEnum.SUCCESS.getErrorMessage() 来获取成功消息。并且无需要,实列化,直接写常量就会在加载服务的时候实列化,这个枚举类型 AppHttpCodeEnum 中定义的枚举常量是可以直接使用的,不需要创建新的枚举对象,就像使用静态变量一样。

2023-10-28 16:27:26 620

原创 springcloud技术栈以及相关组件

常用中间件。

2023-10-26 23:23:36 262

原创 Rabbitmq----分布式场景下的应用

每个RabbitTemplate只能配置一个(消息回调)ReturnCallback: 处理消息是否被正确路由到队列,通常在消息无法被路由时触发。: 处理消息是否成功发送到Broker,无论消息是否被正确路由到队列。它是消息成功投递到Broker的确认机制。可以在发送消息时指定,因为每个业务处理confirm成功或失败的逻辑不一定相同。@Test// 1.消息体// 2.全局唯一的消息ID,需要封装到CorrelationData中// 3.添加callback。

2023-10-26 22:52:37 1166

原创 Redis在分布式场景下的应用

redis在分布式场景下的缓存使用

2023-10-20 21:26:01 1269 2

原创 docker 部署redis报错内存分配过度

docker部署redis实操中出现的bug

2023-10-19 23:14:48 4541

原创 虚拟机ubantu系统突然重启失去网络

如果网络状态和我一样不可用 ,就先停止网络服务。然后查看网络服务状态。

2023-10-19 19:18:18 180

原创 分布式事务协调中间件---seata快速入门

为了保证分布式服务中的acid ,需要学习了解分布式服务协调框架

2023-10-15 17:14:52 1316

原创 快速学习微服务保护框架--Sentinel

微服务安全监控限流框架 sentinel

2023-10-11 22:03:54 1860

原创 springcloud----检索中间件 ElasticSearch 分布式场景的运用

如果对es的基础知识有不了解的可以看。

2023-10-10 14:54:09 798

原创 Springcloud中间件-----分布式搜索引擎 Elasticsearch

微服务开发的搜索中间件

2023-10-10 11:32:05 2495

原创 bug 记录 ---[http-nio-8089-exec-4] WARN o.s.w.s.m.support.DefaultHandlerExceptionResolver -

在Java中,如果您没有提供类的getter和setter方法,Spring框架将无法正常访问类的属性,从而导致无法将Java对象转换为HTTP响应对象。这是因为Spring MVC框架使用JavaBean规范来访问和设置对象的属性。当我写后端api的时候,发现返回的数据在页面没有显示出来,并且报错。原因是因为返回的对象result 忘记写getter和setter。不支持java转为http对象,

2023-10-07 22:24:59 545

原创 Nginx的安装与卸载

其中 nginx运行的服务有http和https 每一个类型中有多个server,server代表一个站点,root表示nginx安装的根路径,index就是根据这里域名(servername)访问时候,默认跳转的index。如果您希望将安装的Nginx文件集中在同一个文件夹中,而不是默认的分散位置,可以使用源代码编译安装的方式进行操作。nginx的主要配置文件是nginx.conf,而旁边的配置文件default指的是默认配置文件,当做出修改太多,为了还原时使用的。

2023-09-26 12:28:32 1873

原创 ideal 同一项目启动多实列

ideal配置

2023-09-23 16:54:29 103

原创 函数式编程,lamdb语法快速学习

​ 我们在编写代码的时候出现最多的就是空指针异常。所以在很多情况下我们需要做各种非空的判断。if(author!=null){​ 尤其是对象中的属性还是一个对象的情况下。这种判断会更多。​ 而过多的判断语句会让我们的代码显得臃肿不堪。​ 所以在JDK8中引入了Optional,养成使用Optional的习惯后你可以写出更优雅的代码来避免空指针异常。​ 并且在很多函数式编程相关的API中也都用到了Optional,如果不会使用Optional也会对函数式编程的学习造成影响。​只有一个抽象方法。

2023-09-17 23:35:43 157

原创 使用computed计算属性,完成根据不同状态切换按钮

根据计算属性,计算出一个对应的按钮列表,并且使用数组的map方法进行替换,这样按钮数组和数据数组就是同步展示,并且事件绑定也是根据传递。.当然上面的需求可以根据v-if else 来解决,但是这里使用computed来完成的化话就要方便很多。需求:我的订单组件接受到了来自不同状态的订单列表,我的按钮需要根据不同的订单改变,所以解决思路,使用computed创建对应按钮列表来实现。

2023-09-07 22:41:23 211

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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