自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot集成SpEL快速入门demo

Spring Expression Language(简称 SpEL)是一种强大的表达式语言,支持在运行时查询和操作对象图。语言语法类似于 Unified EL,但提供了额外的特性,最显著的是方法调用和基本的字符串模板功能。下面是一些常见的例子,更多的可以去官网看详细的文档,这里只给一个基本的入门。访问 properties, arrays, lists, maps。实验目标:实现属性注入文件,lis和进行逻辑运算。以上只是一些关键代码,所有代码请参见下面代码仓库。读取属性文件,然后表达式注入list。

2024-05-27 08:27:04 153

原创 Spring Boot集成Banner快速入门demo

是一个用于在应用程序启动时显示自定义 ASCII 艺术和信息的功能。这个 ASCII 艺术通常包括项目名称、版本号、作者信息等。Banner 的主要作用是增强应用程序的品牌标识,同时提供一种友好的欢迎方式,让用户或开发人员在启动应用程序时感到愉快。品牌标识:通过在启动时显示自定义 ASCII 艺术和信息,你可以为你的项目增加独特的标识,提高用户体验。欢迎信息:Banner 可以包含欢迎信息,用于向用户或团队成员传达有关应用程序的信息。版本号和作者信息。

2024-05-25 12:15:57 402

原创 Spring Boot集成validation实现参数校验功能

Bean Validation 是一个运行时的数据验证框架,在验证之后验证的错误信息会被马上返回。java 在2009年的 JAVAEE 6 中发布了 JSR303以及javax下的validation包内容。这项工作的主要目标是为java应用程序开发人员提供 基于java对象的 约束(constraints)声明 和 对约束的验证工具(validator),以及约束元数据存储库和查询API。

2024-05-24 08:29:09 246

原创 Spring Boot集成shiro之使用redis缓存demo

登录用户,第一次会从数据库中查询,并通过RedisTemplate的put方法将用户信息装入缓存,下次再刷新首页就会从redis中查询权限,授权等信息。启动项目,访问http://127.0.0.1:8088/userInfo/userAdd,会跳转到登录页,输入admin 123456,查看redis是否缓存了。由于自定义realm中认证所需要的盐值内部并没有实现序列化接口,所以我们需要自己定一个。注意实体类(角色类,用户类,权限类)要记得实现Serializable接口 最后在。

2024-05-23 08:20:45 389 1

原创 Spring Boot集成Spring Shell快速入门Demo

Spring Shell构建在JLine之上,集成实现命令参数校验。从2.0版本开始,Spring Shell还可以非常方便地与Spring Boot进行集成,直接使用Spring Boot提供的一些非常实用的功能(如:打包可执行jar文件)。

2024-05-22 08:34:18 858

原创 Spring Boot集成sharding-jdbc快速入门Demo

目前新版已经更名为ShardingSphere-JDBC ,ShardingSphere-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template 或直接使用 JDBC;

2024-05-21 08:17:41 430

原创 Spring Boot集成testcontainers快速入门Demo

是一个用于创建临时 Docker 容器进行单元测试的 Java 库。当我们想要避免使用实际服务器进行测试时,它非常有用。,官网介绍称支持50多种组件。​编辑。

2024-05-20 09:06:09 377

原创 Spring Boot集成Picocli快速入门Demo

Picocli是一个单文件命令行解析框架,它允许您创建命令行应用而几乎不需要代码。使用@Option或在您的应用中注释字段,Picocli将分别使用命令行选项和位置参数填充这些字段。使用Picocli来编写一个功能强大的命令行程序。

2024-05-18 11:13:35 418

原创 Spring Boot集成Shiro快速入门Demo

Shiro是一个功能强大、灵活的,开源的安全框架,主要可以帮助我们解决程序开发中认证和权限等问题。基于拦截器做的权限系统,权限控制的粒度有限,为了方便各种各样的常用的权限管理需求的实现,我们有必要使用比较好的安全框架。早期Spring security 作为一个比较完善的安全框架比较火,但是Springsecurity学习成本比较高,于是就出现了shiro安全框架,学习成本降低了很多,而且基本的功能也比较完善。Shiro的架构Subject:主题。被验证的对象,一般指的当前用户对象。

2024-05-17 08:58:37 700

原创 Spring Boot集成Security快速入门Demo

Spring Security是一个Java框架,用于保护应用程序的安全性。它提供了一套全面的安全解决方案,包括身份验证、授权、防止攻击等功能。Spring Security基于过滤器链的概念,可以轻松地集成到任何基于Spring的应用程序中。它支持多种身份验证选项和授权策略,开发人员可以根据需要选择适合的方式。此外,Spring Security还提供了一些附加功能,如集成第三方身份验证提供商和单点登录,以及会话管理和密码编码等。

2024-05-16 08:31:39 1064

原创 Spring Boot实现多数据源快速入门

多数据源既动态数据源,项目开发逐渐扩大,单个数据源、单一数据源已经无法满足需求项目的支撑需求。本文采用dynamic-datasource-spring-boot-starter实现多数据源,由于类上@DS("slave_1"),所以预期插入的slave_1mysql库。查询方法注解的@DS("master"),所以在mater库上根本查不到数据。本文使用2个mysql作为数据源,表都是一样的结构。然后修改service,增加切换数据源注解。可以注解在方法上或类上,配置下格式支持这几种。

2024-05-15 08:56:51 308

原创 Spring Boot集成dubbo快速入门Demo

Apache Dubbo 是一款微服务开发框架,它提供了 RPC通信 与 微服务治理 两大关键能力。这意味着,使用 Dubbo 开发的微服务,将具备相互之间的远程发现与通信能力, 同时利用 Dubbo 提供的丰富服务治理能力,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。同时 Dubbo 是高度可扩展的,用户几乎可以在任意功能点去定制自己的实现,以改变框架的默认行为来满足自己的业务需求。

2024-05-14 09:25:49 433

原创 Spring Boot集成@Async快速入门Demo

当我们在使用SpringBoot进行开发的时候,可能会遇到一些执行异步任务的场景,如果每次执行这些异步任务都去新建一个异步线程来执行的话,那代码就太冗余了。幸好SpringBoot给我们提供了Async的注解,让我们能够很轻松地对这些异步任务进行执行。

2024-05-13 11:04:15 463

原创 Spring Boot集成activiti快速入门Demo

表分类表名解释一般数据通用的流程定义和流程资源系统相关属性流程历史记录历史的流程实例历史的流程附件历史的说明性信息历史的流程运行中的细节信息历史的流程运行过程中用户关系历史的流程实例历史的任务实例历史的流程运行中的变量信息流程定义表部署单元信息模型信息已部署的流程定义运行实例表运行时事件运行时流程执行实例运行时用户关系信息,存储任务节点与参与者的相关信息ACT_RU_JOB运行时作业运行时任务运行时变量表。

2024-05-11 08:56:35 819

原创 Spring Boot集成zookeeper快速入门Demo

Zookeeper 是一个开源的分布式协调服务,目前由 Apache 进行维护。Zookeeper 可以用于实现分布式系统中常见的发布/订阅、负载均衡、命令服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。顺序一致性:从一个客户端发起的事务请求,最终都会严格按照其发起顺序被应用到 Zookeeper 中;原子性:所有事务请求的处理结果在整个集群中所有机器上都是一致的;不存在部分机器应用了该事务,而另一部分没有应用的情况;单一视图:所有客户端看到的服务端数据模型都是一致的。

2024-05-10 09:30:06 330

原创 Spring Boot集成Ldap快速入门Demo

LDAP,Lightweight Directory Access Protocol,轻量级目录访问协议.LDAP是一种特殊的服务器,可以存储数据数据的存储是目录形式的,或者可以理解为树状结构(一层套一层)一般存储关于用户、用户认证信息、组、用户成员,通常用于用户认证与授权LDAP简称对应o:organization(组织-公司)ou:organization unit(组织单元-部门)c:countryName(国家)dc:domainComponent(域名)

2024-05-09 16:04:47 709

原创 Spring Boot集成MybatisPlus实现通用代码生成

相信很多朋友在项目中使用的ORM框架都是MyBatis,如果单用MyBatis来操作数据库的话,需要手写很多单表查询的SQL实现。这时候我们往往会选择一个增强工具来实现这些单表CRUD操作,这里推荐一款好用的工具MyBatis-Plus!MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

2024-05-09 08:53:34 348

原创 Spring Boot集成Druid快速入门Demo

1.什么是Druid?Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能。功能强大,能防SQL注入,内置Loging能诊断Hack应用行为。2.mysql环境搭建第一个mysql数据库dockerrun--namedocker-mysql-5.7-eMYSQL_ROOT_PASSWORD=123456-p3306:33...

2024-05-07 08:28:46 533

原创 Spring Boot集成Swagger快速入门Demo

1.什么是Swagger?Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。主要作用:使得前后端分离开发更加方便,有利于团队协作。(实际开发中,接口文档的内容会不停的发生变化,如果没有及时更新接口文档,那么前后端就不能及时同步信息。我们通过在线的接口文档swagger,这样前后端工程师都遵守swagger就行了,只要接口文档发生了变化,就会...

2024-05-06 12:00:58 517

原创 Spring Boot集成sitemapgen4j实现网站地图生成

1.什么是sitemapgen4j是一个用于在Java中生成XML网站地图的库,比如生成网站的sitemap,如果超出了 5 万条需要写入另外一个 sitemap 当中,这个功能 sitemapgen4j 已经替我们实现了,无需担心。sitemap站点地图是网站管理员向搜索引擎告知其网站上可用于抓取的页面的一种简单方法。 站点地图最简单的形式是一个 XML 文件,其中列出了站点的 URL 以及有...

2024-04-29 19:57:51 473

原创 Spring Boot集成oauth2快速入门demo

1.oauth2介绍1,什么是 OAuth 2?OAuth 是一个开放标准,该标准允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如头像、照片、视频等),而在这个过程中无须将用户名和密码提供给第三方应用。实现这一功能是通过提供一个令牌(token),而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站在特定的时段内访问特定的资源。这样,OAuth 让用户可...

2024-04-28 12:02:20 414

原创 Spring Boot集成Spring AI实现快速接入openAI

1.什么是Spring AI?Spring AI API 涵盖了广泛的功能。每个主要功能都在其专门的部分中进行了详细介绍。为了提供概述,可以使用以下关键功能:跨 AI 提供商的可移植 API,用于聊天、文本到图像和嵌入模型。支持同步和流 API 选项。还支持下拉访问模型特定功能。我们支持 OpenAI、Microsoft、Amazon、Google、Huggingface 等公司的 AI 模型。跨...

2024-04-26 13:35:00 1355

原创 Spring Boot集成Spring Session快速入门Demo

1.什么事Spring Session?HTTP协议本身是无状态的,为了保存会话信息,浏览器Cookie通过SessionID标识会话请求,服务器以SessionID为key来存储会话信息。在单实例应用中,可以考虑应用进程自身存储,随着应用体量的增长,需要横向扩容,多实例session共享问题随之而来。Spring Session就是为了解决多进程session共享的问题Spring Sessio...

2024-04-25 08:01:06 724

原创 Spring Boot集成RabbitMQ快速入门Demo

1.什么是RabbitMQ?RabbitMQ是一款使用Erlang语言开发的,基于AMQP协议的消息中间件,作为一款优秀的消息系统,RabbitMQ有高并发、可扩展等优势,并适用于大型系统中各个模块之间的通信。RabbitMQ的特点为:持久化、传输确认、发布确认等功能保证消息可靠支持多种消息分发模式,处理更加灵活提供可视化管理界面,使用方便支持集群部署,保证服务高可用2.RabbitMQ环境搭建v...

2024-04-24 08:01:01 431

原创 Spring Boot集成Quartz快速入门Demo

1.Quartz介绍  Quartz是OpenSymphony开源的一个项目,是一个由Java编写的开源作业调度框架。特点支持分布式高可用,我们需要某个定时任务在多个节点中只有某个节点可以执行时,就需要Quartz来实现,否则使用@Scheduled等方式会造成所有节点都执行一遍。支持持久化,Quartz有专门的数据表来实现定时任务的持久化。支持多任务调度和管理,Quartz可以在数据库中存储多个...

2024-04-23 19:00:45 519

原创 Spring Boot集成Mybatis Plus快速入门Demo

1.什么事Mybatis Plus?MyBatis-Plus(opens new window)(简称 MP)是一个MyBatis(opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强...

2024-04-22 14:54:13 921

原创 Spring Boot集成zipkin快速入门Demo

1.什么zipkinZipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司开发贡献。其主要功能是聚集来自各个异构系统的实时监控数据。Zipkin默认支持Http协议,除此之外,它还支持kafka,rabbitmq以及scribe协议:2.搭建zipkin环境1.获取镜像doc...

2024-04-20 10:50:34 456

原创 Spring Boot集成atomikos快速入门Demo

1.什么是atomikosAtomikos是一个轻量级的分布式事务管理器,实现了Java Transaction API (JTA)规范,可以很方便的和Spring Boot集成,支持微服务场景下跨节点的全局事务。Atomikos公司官方网址为:https://www.atomikos.com/。其旗下最著名的产品就是事务管理器。产品分两个版本:TransactionEssentials:开源的免...

2024-04-19 08:00:39 393

原创 Spring Boot集成fastdfs快速入门Demo

1.什么是fastdfsFastDFS 是一个开源的高性能分布式文件系统(DFS)。它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。FastDFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Serv...

2024-04-18 08:02:01 638

原创 Spring Boot集成Https快速入门Demo

1.什么是https?HTTPS,也称作HTTP over TLS。TLS的前身是SSL,TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3 HTTPS和HTTP协议相比提供了数据完整性:内容传输经过完整性校验数据隐私性:内容经过对称加密,每个连接生成一个唯一的加密密钥身份认证:第三方无法伪造服务端(客户端)身份其中,数据完整性和隐私性由TLS...

2024-04-17 08:24:36 603

原创 Spring Boot集成easypoi快速入门Demo

1.什么是easypoi?Easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板语言(熟悉的表达式语法),完成以前复杂的写法。2.代码工程实验目的:实现excel导入和导出pom.xml<?xml version="1.0" encoding="UTF-8"...

2024-04-15 20:41:33 406

原创 Spring Boot集成webflux快速入门Demo

1.webflux介绍Spring WebFlux是一个异步非阻塞式的WEB框架,它能够充分利用多核CPU的硬件资源去处理大量的并发请求,而Spring MVC是构建于Servlet API之上,使用的是同步阻塞式I/O模型,即每一个请求对应一个线程去处理。2.WebFlux 与 Spring MVC 区别WebFlux:异步非阻塞: WebFlux 基于反应式编程模型,支持非阻塞 I/O,能够充...

2024-04-12 14:06:08 545

原创 Spring Boot集成Graphql快速入门Demo

1.Graphql介绍GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。优势GraphQL 速度快,并且比较稳定,GraphQL 的操作是在数据层面的,所以比较快。GraphQL 可以获取更多的资源,当查询一个数据的时候,不止是这个数据,甚...

2024-04-11 11:36:52 519

原创 SpringBoot API 多版本快速入门Demo

1.多版本背景介绍在以SpringBoot开发Restful接口时,由于模块,系统等业务的变化,需要对同一接口提供不同版本的参数实现(老的接口还有模块或者系统在用,不能直接改,所以需要不同版本)。如何更加优雅的实现多版本接口呢?网上很多自定义版本注解的方法,但是我不太建议这样做,因为硬编码和增加系统的维护成本。而且springboot本身就很好的支持多版本,没有必要再去造轮子。2.代码工程pom...

2024-04-09 17:34:34 328

原创 SpringBoot内容协商快速入门Demo

1.什么内容协商简单说就是服务提供方根据客户端所支持的格式来返回对应的报文,在 Spring 中,REST API 基本上都是以 json 格式进行返回,而如果需要一个接口即支持 json,又支持其他格式,开发和维护多套代码显然是不合理的,而 Spring 又恰好提供了该功能,那便是ContentNegotiation 在 Spring 中,决定一个数据是以 jso还是xml 分别如下:favor...

2024-04-08 17:12:53 444

原创 Spring Boot集成Debezium实现postgres增量同步

1.Debezium和postgres介绍Debezium是一个开源项目,为捕获数据更改(change data capture,CDC)提供了一个低延迟的流式处理平台。你可以安装并且配置Debezium去监控你的数据库,然后你的应用就可以消费对数据库的每一个行级别(row-level)的更改。只有已提交的更改才是可见的,所以你的应用不用担心事务(transaction)或者更改被回滚(roll ...

2024-04-07 17:31:35 945

原创 Spring Boot单元测试快速入门Demo

1.test介绍软件测试是一个应用软件质量的保证。开发者开发接口往往忽视接口单元测试。如果会Mock单元测试,那么你的bug量将会大大降低。spring提供test测试模块。整体上,Spring Boot Test支持的测试种类,大致可以分为如下三类:单元测试:一般面向方法,编写一般业务代码时,测试成本较大。涉及到的注解有@Test。切片测试:一般面向难于测试的边界功能,介于单元测试和功能测试之间...

2024-04-04 14:23:32 647

原创 Springboot集成hanlp快速入门demo

HanLP是一系列模型与算法组成的NLP工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。内部算法经过工业界和学术界考验,配套书籍《自然语言处理入门》已经出版。目前,基于深度学习的HanLP 2.x已正式发布,次世代最先进的NLP技术,支持包括简繁中英日俄法德在内的104种语言上的联合任务。中文分词HMM-Bigram(速度与精度最佳平衡;一百兆内存)最短路分词N-最短路分词由字构词(侧重精度,全世界最大语料库,可识别新词;

2024-04-03 14:55:41 1120

原创 Spring Boot集成Spring Retry快速入门Demo

1.Retry介绍Spring Retry提供了自动重新调用失败的操作的功能。这在错误可能是暂时的(例如瞬时网络故障)的情况下很有用。从2.2.0版本开始,重试功能已从Spring Batch中撤出,成为一个独立的新库:Spring Retry使用场景在日常开发过程中,难免会与第三方接口发生交互,例如:短信发送、远程服务调用、争抢锁等场景,当正常调用发生异常时,例如:网络抖动,这些间歇性的异常在一...

2024-04-03 11:22:10 624

原创 Spring Boot集成AJ-Captcha实现滑动验证码功能

1.AJ-Captcha介绍行为验证码采用嵌入式集成方式,接入方便,安全,高效。抛弃了传统字符型验证码展示-填写字符-比对答案的流程,采用验证码展示-采集用户行为-分析用户行为流程,用户只需要产生指定的行为轨迹,不需要键盘手动输入,极大优化了传统验证码用户体验不佳的问题;同时,快速、准确的返回人机判定结果AJ-Captcha行为验证码AJ-Captcha行为验证码,包含滑动拼图、文字点选两种方式,...

2024-04-02 21:44:07 812

空空如也

空空如也

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

TA关注的人

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