自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编码人生

商务合作|项目合作|携手共进

  • 博客(286)
  • 问答 (1)
  • 收藏
  • 关注

原创 SpringBoot入门:如何新建SpringBoot项目(保姆级教程)

在本文中,我们将演示如何新建一个基本的 Spring Boot 项目。写这篇文章的时候我还是很惊讶的,因为我发现有些java的初学者并不会新建一个SpringBoot项目,所以特别出了一篇文章来教大家新建一个SpringBoot项目。什么是SpringBoot项目?Spring Boot 是一个用于简化 Spring 应用程序开发的框架,它提供了快速构建、开箱即用的特性,使得开发人员可以更快速地搭建和部署应用程序。

2024-07-23 09:09:14 1034 1

原创 趁着无聊,写了一个minio-spring-boot-starter给大家使用

在上一篇文章中我们介绍了如何使用SpringBoot集成minio:在之前我已经教大家使用linux安装了一个minio因为该有的条件都有了,万事俱备只欠东风,所以我就顺便写了一个,并且发布到了maven的中央仓库供大家使用。请使用1.0.0版本。

2024-07-11 13:42:11 791

原创 我不小心把生产的数据改错了!同事帮我用MySQL的BinLog挽回了罚款

之前在生产做修改数据的时候不小心改错了一行数据,本来以为会被通报批评,但是同事利用binlog日志查看到了之前的旧数据,并且帮我回滚了,学到了,所以写了一篇binlog的文章分享给大家。MySQL的Binary Log(简称binlog)是一种重要的数据库日志系统,用于记录数据库服务器上所有更改数据的活动。Binlog是MySQL数据库中的一种的日志文件,它主要记录了对数据库数据进行修改的所有操作事件。

2024-07-03 09:09:13 678

原创 maven的生命周期是什么?看这一篇就够了!

大家可能都知道maven是什么?Maven 是一个流行的项目管理工具,用于构建、发布和管理 Java 项目。那么我们在用maven将项目打包成一个jar包的时候,他是怎么运作的,mvn clean install都做了哪些小动作?其中的package和install有什么区别?deploy命令又是干什么的?不知道这些问题大家有没有想过?Maven生命周期包括三个主要阶段:clean、default、site。clean生命周期:用于清理项目,包括删除target目录中生成的文件。

2024-06-24 08:48:24 743

原创 什么!没有Starter的阿里云OSS也能集成到SpringBoot?

实际上,我们在Maven存储库中尝试搜索阿里云OSS。在此过程中,我们会发现阿里云官方未提供一种集成Spring Boot的模式,即xxx-Springboot-Starter,显然,这是一个需要自行定制的组件。然而,如今许多企业在研发过程中,基本上90%的项目都采用了Spring Boot。因此,若有与阿里云OSS对接的需求,倘若官方已提供了相应的Spring Boot快速启动集成包,那么我们的使用将会非常便捷。然而,鉴于官方并未实施该操作,我们必须手动将其集成至Spring Boot。

2024-06-17 09:20:11 978

原创 我开发了一款只用一个注解就实现统计访问量的工具框架

大家有可能在实际开发项目中会遇到这样的情况。实现计数器功能,比如统计网站访问量、用户点击次数等。大家有可能把它放在redis里面,也有可能把它放在MYSQL里面。但是这样大家都需要动手实现很多的代码。繁琐而复杂。于是我就想在simple-cache框架中发布一个新的注解。用于实现上面这样的功能。所以这次1.5.0更新给大家带来了两个注解。请使用1.5.0版本准备条件在博主的上一篇文章上门已经讲的很详细了,这次就不做讲解,只讲新功能直接在bean类的方法中添加和注解即可。

2024-06-11 09:01:28 581

原创 Spring Security入门教程:Spring Security的拓展功能

除了spring security的基础的用法,我们还有一些他的拓展功能,这篇文章会给大家介绍一下。Spring security有哪些拓展功能,并且怎么去使用它才能发挥spring security的全部形态。

2024-06-03 09:21:30 1015

原创 Spring Security入门教程:实现用户的授权功能

上一篇文章我们讲了怎么去实现自定义用户配置,其实大家学习spring security的时候,他其实做的只有两件事,第一是认证,第二是授权。那么前面我们所学的两节课就是认证。但是他登陆之后,我们需要给定指定的资源去给他访问。给哪些资源?这就是授权。所以说我们这节课来学习一下。Spring Security的授权。首先我们来进行一个简单的演示。新建一个用于演示的接口。接着我们在配置类里面进行如下配置如果登陆admin用户成功了,并且访问这个地址就会发现成功访问。如果我们登录角色不是admin的用户就会显示

2024-05-27 09:20:59 314

原创 为什么服务端会知道我是谁-Session解析

首先我们要知道的是浏览器只要不关我们访问这个地址,它的Session就会是一个Session,我们看刚刚这个类里面我们拿出了他的session之后,给session设置了一个值。我们在不关闭的情况下,任意重定向跳转之后,他们的section其实还是一个,他们的attribute值是可以相互传递的。这个地址的时候,我们会发现它跳了一下,然后就返回到session4去了,这个时候我们的后台会打印什么呢?刚刚我们访问浏览器的时候,我们在后台已经输出了对应的信息,一个是这个会话的id,一个是我们设置的值。

2024-05-20 09:56:33 995

原创 Spring Security入门教程:实现自定义用户配置

我们在WebSecurityConfigurer里面添加如下代码,之前我们都是在yml文件中配置用户和密码,这样的话我们可以在代码中使用内存中的用户信息@Bean@Override在实际工作和项目中我们肯定不会和上门一样把用户和密码写死,大部分我们是把用户信息存储在数据库中的,所以我们就需要学习在Spring Security中自定义数据源用户,这里以mysql数据库为例# mybatis# mybatis# mybatis# mybatis# mybatisDriver。

2024-05-15 13:49:00 631

原创 mq发送消息之后,业务代码回滚,导致发了一条中奖消息给用户!!

背景是这样的:在一个名为"幸运大转盘"的线上活动中,用户可以通过消耗一定的积分来参与抽奖,有机会赢取各种奖品。这个活动的后台系统使用了消息队列(MQ)来处理用户的抽奖请求和发送中奖消息。一天,有一个名叫小明的用户在活动中抽中了一台新的iPhone。然而,就在他抽中奖品的同时,后台系统的业务代码出现了一个严重的错误,导致抽奖请求的处理过程中出现了问题,最终导致了一个回滚操作。虽然回滚操作成功地撤销了小明的抽奖请求,但是由于消息队列的特性,中奖消息已经被发送出去,小明收到了一条中奖消息。

2024-05-06 11:38:39 903

原创 我开源了一款阿里云OSS的spring-boot-starter

在上一篇文章中我们介绍了如何使用SpringBoot集成阿里云oss:但是这个方式还是需要自己去写配置类去配置很多的东西,那么我在想,为什么不自己写一个阿里云OSS的spring-boot-starter呢,所以的1.0.0版本出现了,同时我也将jar包发布到了maven的中央仓库供大家使用。请使用1.0.0版本。

2024-04-30 09:00:00 996

原创 要是你想使用异步队列的话,那就试试Reactor Flux吧!

Reactor Flux乃是Spring Framework内核架构中的一大重要组件,其主要功能在于实现反应式编程理念。在Reactor的世界观里,Flux担当着描述0至无限个任意元素组成序列的重任,不但如此,它还为同步及基于事件驱动的数据流提供全方位的支持与服务。Flux提供了多元化的操作及其相应的方法,其作用包括对数据流进行漫游、精炼、整合以及更多其他可能的操作,从而满足实现反应式编程特性的各种需求。反应式编程,这是一种独特的编程范式,主要面向那些需要处理复杂多样的异步数据流和事件的场合。

2024-04-25 10:12:34 1023

原创 Java里的线程神器:ThreadLocal

今天我们要学习一种在JAVA线程中至关重要的类——ThreadLocal。ThreadLocal是一个强大的JAVA类,它能实现线程局部变量的功能。通过ThreadLocal,每一个线程都可以拥有自己的一份变量副本,互相之间不会影响操作,真正做到数据隔离。尤其在多线程环境下,避免了线程间混乱的数据共享、避免出现竞争条件,使得编程更加优雅。

2024-04-15 14:14:18 804

原创 我开发了一款只用一个注解就实现分布式锁的工具框架

相信大家在JAVA中知道锁的一个概念。在JAVA中,锁是一种机制,用于控制并发代码的执行。锁用于保护共享资源的访问,确保只有一个线程能够同时访问这些资源。锁可以防止多个线程同时执行对共享资源的修改操作,从而避免数据不一致或竞争条件。但是呢JAVA里面的锁都是基于jvm的。就是说是一个服务独有的。这样的话,在分布式框架中就会有一个问题。比如说我有三个节点。大量的请求进来。我们的需求是不管你请求多少次,只会执行一次。假如说三个节点中每一个节点都进来了一个请求,这样的话就会出现执行了三次请求。

2024-04-01 12:06:37 569

原创 介绍一下傻傻分不清的两个兄弟:过滤器和拦截器之拦截器

在上一篇文章中我们讲到了过滤器。他可以实现很多的功能,例如身份验证和授权、日志记录和性能监控等等,那么拦截器又是什么呢?它跟过滤器又有什么区别呢??实际上,拦截器可以被视为一种对过滤器的封装。在Spring框架中,拦截器提供了更加灵活和强大的功能,可以与Spring MVC等框架无缝集成,并且通常用于处理请求的前置和后置逻辑。拦截器可以实现过滤器的大部分功能,并且在Spring应用程序中更为常见。拦截器也可以用于日志记录、权限验证、性能监控、异常处理等场景。

2024-03-25 09:28:44 763

原创 Elastic Search的RestFul API入门:索引模板index_template的使用

索引模板在Elasticsearch领域占据了至关重要的地位,它们能够协助我们定义和调控索引的架构、映射及各项设定,进而增强了数据存储的效率以及规范性。ES的索引模板在我们日常项目开发过程中的运用频率极高,其功能在于为某个单独的索引设定一套具体的模板标准,随后我们在创建索引时便均按照此模板进行实施,从某种意义上讲,这如同规定了我们所需索引应具备的形式与模样。

2024-03-22 09:25:35 64

原创 如何发布jar包到maven中央仓库(2024年3月最新版保姆级教程)

在官方的中提到:从 2024 年 3 月 12 日起,所有注册都将通过中央门户网站进行。有关传统注册的信息,请参阅相关文档。有关在门户网站早期访问期间通过传统的 OSSRH 发布方式进行发布的支持,请参阅以下部分。所以之后,博主原来写的教程就不适用了,所以这次博主根据他的官方文档出了一篇新教程,踩了很多的坑,最后三天终于把他弄出来了,这里我会把我遇到的坑给大家整理一下,避免大家踩坑。如果你没看过原来的那篇文章没问题的,现在我们开始从0开始,到最后jar包成功发布在maven中央仓库上。

2024-03-18 13:43:30 3029 28

原创 Spring Security入门教程:利用Spring Security实现安全控制

大家可以看到我们刚刚控制台生成的密码其实是一个随机的字符串,它是security默认生成的,所以现在我们可以给它配一个默认的用户名和密码。我们可以在配置文件中输入以下的配置给他配置自定义的用户名和密码。我们在用我们自定义的用户名和密码登录成功之后,就可以访问我们项目中的任意一个地址。完成以上三步,我们就成功引入了springsecurity,并制定了我们自己的用户名和密码。不过你们有没有想过,在实际的项目中,我们真的会将用户名和密码写在配置文件中吗?这显然是不可能的。

2024-03-11 13:54:36 1058

原创 介绍一下傻傻分不清的两个兄弟:过滤器和拦截器之过滤器

在上一篇的文章中,我们讲到了javaweb的servlet,Servlet在最早的JAVA网页应用发过程中占据着很重要的地位。但是在这个体系中,还存在着两个极其相似的亲兄弟。今天我们就来介绍一下这两个很相似的功能。过滤器和拦截器都是用于在 Web 应用程序中处理请求和响应的组件,但它们在实现和使用上有一些不同之处。过滤器(Filter)是 Servlet 规范中的一部分,它可以在请求到达 Servlet 之前对请求进行预处理,也可以在响应返回给客户端之前对响应进行后处理。

2024-03-05 09:34:33 930

原创 Java技术中的经典之作:Servlet的实践运用

在久远而悠久的历史长河中,各式各样的技术层出不穷,然而,当我们回顾过去,不难发现,曾经的主流框架尚未问世之际,我们所习惯使用的开发工具就是servlet及与之搭配的tomcat。如今,随着现代科技的飞速发展,这些陈旧的技术已逐渐淡出人们的视野。然而,身为一名Java程序员,我们有必要洞悉这项技术的本质及其脉络,以便在未来编写代码时能够心领神会,游刃有余。

2024-02-29 15:25:31 692

原创 Elastic Search的RestFul API入门:使用SQL查询ES

Elasticsearch 的 SQL 查询提供了一种类似于传统关系型数据库的查询方式,这使得熟悉 SQL 的开发人员可以更轻松地使用 Elasticsearch 进行数据检索和分析。

2024-02-26 09:20:18 271

原创 Gradle的安装和配置

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来描述构建脚本,允许开发人员定义项目的结构、依赖关系和构建过程。Gradle支持多种编程语言和技术栈,并提供了强大的构建自动化能力,包括任务管理、依赖管理、插件扩展等功能。通过使用Gradle,开发人员可以更轻松地构建、测试和部署他们的应用程序,同时也能够灵活地定制构建流程以满足特定需求。Gradle已经成为许多开发团队和项目的首选构建工具之一。

2024-02-22 14:01:23 1959

原创 Elastic Search的RestFul API入门:分词的核心机制-分析器

大家想到的ES首先想到的可能是`快`!`搜索强`!那么他为什么搜索强呢?他为什么能实现那么厉害的分词搜索呢?我们今天会花费一篇文章的时间来讲一下分析器

2024-02-20 11:01:44 54

原创 Elastic Search的RestFul API入门:查询ES当前的情况cat和cluster

有时候我们也需要查看集群的整体情况,这就需要用到 cat 和 cluster 这两个 API。

2024-01-29 09:25:02 289

原创 Elastic Search的RestFul API入门:alias别名

在Elasticsearch(ES)中,我们得以为某一索引赋予众多别名,同样,我们亦可将多重索引映射至同一个别名

2024-01-22 09:15:32 58

原创 【Mybatis】我抄袭了Mybatis,手写一套MyMybatis框架:初窥mybatis源码

在历经之前几章课程的深入学习之后,我想我们已经初步掌握了如何运用jdbc连接数据库的技术;同时,我们也实现了利用mybatis框架的能力,甚至尝试着手编写、实现了ORM的框架。我坚信大家对MyBatis的理解和应用已经达到了一定程度。然而,你们是否有思考过为何MyBatis能够具备如此强大的效能呢?因此,在本次课程中,我们将全面剖析MyBatis的源代码,以此揭示其背后隐藏着的卓越功能的实现原理。为了方便我们的Debug实验,我们仍然会参考并使用在上一章节课程所提到的Mybatis-Demo模块进行操作。

2024-01-18 10:06:18 856

原创 Elastic Search的RestFul API入门:DSL查询

DSL(Domain Specific Language)是一种专门用于特定领域的编程语言。在Elasticsearch(ES)中,DSL被广泛用于构建灵活、高效的查询语句,以满足各种搜索需求。

2024-01-15 09:16:32 85

原创 【Mybatis】我抄袭了Mybatis,手写一套MyMybatis框架:编写MyMybatis框架

前面我们编写了一个正常的项目,他需要使用到我们的框架,但是我们还没有开始编写我们的MyMybatis框架,我们现在已经学会了使用mybatis框架,已经学会了使用jdbc连接mysql,并且已经搭好了一个引用MyMybatis框架的正常项目,所以这次我们开始真正的开始编写我们的MyMybatis框架,开始“抄袭”之路。

2024-01-11 09:22:54 935

原创 Elastic Search的RestFul API入门:如何优雅分组-aggregations

桶的主要作用是通过设定某一特定标准对文档进行分组归纳。

2024-01-08 09:11:10 894

原创 【Mybatis】我抄袭了Mybatis,手写一套MyMybatis框架:编写一个引入MyMybatis框架的正常项目

到时候我们自己再写框架的时候,取对应的数据就行了,这里只是做一个示范,我们暂时就叫我们上面的名字。接下来,我们只需专注于编写具体的功能性代码以及正确传递所需的参数,并在这个基础上编写适当的SQL语句即可,与我们平常使用。在这篇文章中,我们将聚焦于我们的调用方,即相应的实际项目,其中包含了对。,这里我们把我们上面装sql的xml文件给拿过来,假如我们的框架有很多的mapper文件,我都将他们引入进来,注意这里都是写在。在对应的select标签中我们写上我们的sql,就像上面我们的代码里面的sql一样就行了。

2024-01-04 20:12:30 1161 1

原创 Elastic Search的RestFul API入门:初识DSL

通过理解和合理运用查询上下文和过滤上下文,我们可以更好地利用Elasticsearch的搜索功能,提高搜索的效率和准确性。

2024-01-02 09:55:01 881 1

原创 【Mybatis】我抄袭了Mybatis,手写一套MyMybatis框架:学会使用mybatis框架

上一篇文章中,我们学习了通过JDBC与MySQL进行交互。如果我们平常在项目中使用mybatis框架作为我们的orm框架。这一次我们就来学习如何使用框架。我们项目中使用到maven。我们直接通过pom文件的方式给他引入进来。MyBatis是一个简单而强大的持久层框架,它提供了灵活的SQL映射、强大的参数处理、动态SQL、缓存支持和插件扩展等功能,使得开发人员能够更方便地进行数据库访问和操作。我们既然要“”mybatis框架。那么我们肯定要学会使用这个框架。所以我们先了解它怎么使用。

2023-12-27 09:16:38 830

原创 Elastic Search的RestFul API入门:如何进行ES的查询-search

在这篇教学文章中,我们将深入探讨Elasticsearch的search功能。这是一个非常强大且灵活的功能,它允许我们对存储在Elasticsearch中的数据进行各种复杂的查询和分析。

2023-12-25 09:18:46 968

原创 【Mybatis】我抄袭了Mybatis,手写一套MyMybatis框架:使用JDBC连接数据库

在Java开发中,Mybatis是一个非常流行的持久层框架,它消除了几乎所有的JDBC代码和参数的手动设置以及结果集的检索。Mybatis可以使用简单的XML或注解进行配置,并将接口和Java的POJOs(Plain Old Java Objects)映射成数据库中的记录。然而,你有没有想过,如果没有Mybatis,我们应该如何手动实现这些功能呢?在这篇专栏中,我将尝试"抄袭" Mybatis,手写一套名为MyMybatis的框架,让我们一起深入理解Mybatis背后的原理和实现。

2023-12-20 09:39:08 1023

原创 Elastic Search的RestFul API入门:doc文档的增删改查操作

在Elasticsearch中,每一个文档都可以被理解为MySQL数据表中的一行数据,它们是数据存储和检索的基本单位。今天我们来学习一下doc的增删改查的操作。

2023-12-18 09:15:24 812

原创 Elastic Search的RestFul API入门:那些不常见的mapping字段

在本篇文章中,我们将探讨这些较少用到的字段类型。我们将介绍它们的基本特性,使用场景,以及如何在实际应用中使用它们。

2023-12-11 09:10:45 1043

原创 Elastic Search的RestFul API入门:我们常见的mapping字段

本文将着重讨论我们在工作和实际应用中经常遇到或者使用的字段类型

2023-12-04 09:58:33 885

原创 Elastic Search的RestFul API入门:初识mapping

这次我们来讲解mapping的动态字段、动态模板、指定字段类型以及运行时字段的相关概念

2023-11-27 09:09:30 1169

原创 Elastic Search的RestFul API入门:index索引的增删改查

在本篇文章中,我们将详细介绍如何使用Restful API来创建、删除、更新和查询JSON格式的索引。

2023-11-20 11:18:36 573

空空如也

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

TA关注的人

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