经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 Spring
SpringBoot 项目优雅实现读写分离

SpringBoot 项目优雅实现读写分离

一、读写分离介绍 当使用Spring Boot开发数据库应用时,读写分离是一种常见的优化策略。读写分离将读操作和写操作分别分配给不同的数据库实例,以提高系统的吞吐量和性能。 读写分离实现主要是通过动态数据源功能实现的,动态数据源是一种通过在运行时动态切换数据库连接的机制。它允许应用程序根据不同...[2023/11/15]

Spring Cloud Seata 系列:Seata-Server (1.7.1)安装与配置(集成 Nacos)

Spring Cloud Seata 系列:Seata-Server (1.7.1)安装与配置(集成 Nacos)

目录一、简介术语事务模式XA 模式AT 模式TCC 模式Sage 模式说明二、Seata Server 存储模式1、file 模式①修改application.xml②启动Seata-Server2、db 模式①运行mysql.sql脚本②修改application.xml③修改 config....[2023/11/13]

Spring 缓存注解这样用,太香了!

作者最近在开发公司项目时使用到 Redis 缓存,并在翻看前人代码时,看到了一种关于 @Cacheable 注解的自定义缓存有效期的解决方案,感觉比较实用,因此作者自己拓展完善了一番后分享给各位。 Spring 缓存常规配置 Spring Cache 框架给我们提供了 @Cacheable 注...[2023/11/10]

SpringBoot数据响应、分层解耦、三层架构

响应数据 @ResponseBody 类型:方法注解、类注解 位置:Controller方法、类上 作用:将方法返回值直接响应,如果返回值类型是 实体对象/集合 ,将会转换为json格式响应 说明:@RestController = @Controller + @ResponseBody 统一...[2023/11/3]

Spring/SpringBoot中的声明式事务和编程式事务源码、区别、优缺点、适用场景、实战

Spring/SpringBoot中的声明式事务和编程式事务源码、区别、优缺点、适用场景、实战

一、前言 在现代软件开发中,事务处理是必不可少的一部分。当多个操作需要作为一个整体来执行时,事务可以确保数据的完整性和一致性,并避免出现异常和错误情况。在SpringBoot框架中,我们可以使用声明式事务和编程式事务来管理事务处理。其中事务的坑也是不少,比较常见的就是事务失效,大家可以看看!后面...[2023/11/3]

【Spring】AOP实现原理

【Spring】AOP实现原理

注册AOP代理创建器 在平时开发过程中,如果想开启AOP,一般会使用@EnableAspectJAutoProxy注解,这样在启动时,它会向Spring容器注册一个代理创建器用于创建代理对象,AOP使用的是AnnotationAwareAspectJAutoProxyCreator,它实现了Sm...[2023/11/1]

一篇了解springboot3请求参数种类及接口测试

SpringBoot3数据请求: 原始数据请求: 原始方式 @RequestMapping(" impleParam") public String simpleParam(HttpServletRequest request){ 获取请求参数 ...[2023/10/25]

使用Spring Integration接收TCP与UDP请求

1. 简介 Spring Integration 是一个开源的项目,它是 Spring 生态系统的一部分,旨在简化企业集成(Enterprise Integration)的开发。它提供了一种构建消息驱动的、松散耦合的、可扩展的企业应用集成解决方案的方式。Spring Integration 基于...[2023/10/23]

基于SpringBoot+Netty实现即时通讯(IM)功能

基于SpringBoot+Netty实现即时通讯(IM)功能

简单记录一下实现的整体框架,具体细节在实际生产中再细化就可以了。 第一步 引入netty依赖 SpringBoot的其他必要的依赖像Mybatis、Lombok这些都是老生常谈了 就不在这里放了 <dependency> <grou...[2023/10/20]

Swagger系列:SpringBoot3.x中使用Knife4j

目录一、简介二、版本说明三、使用四、效果图 一、简介 官网:https: doc.xiaominfo.com/ Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决方案 Knife4j 是为 Java MVC 框架集成 Swagger 生成 Api 文档的增强解...[2023/10/19]

SpringBoot + 自定义注解 + AOP 高级玩法打造通用开关

前言 最近在工作中迁移代码的时候发现了以前自己写的一个通用开关实现,发现挺不错,特地拿出来分享给大家。 为了有良好的演示效果,我特地重新建了一个项目,把核心代码提炼出来加上了更多注释说明,希望xdm喜欢。 案例 1、项目结构 2、引入依赖 <dependency> ...[2023/10/17]

SpringBoot2.7升级到3.0的实践分享

SpringBoot2.7升级到3.0的实践分享

背景 最近把项目中的技术框架做一次升级,最重要的就是SpringBoot从2.7.x升级到3.0.x,当然还会有一些周边的框架也会连带着升级,比如Mybatis Plus,SpringCloud等,话不多说直接看看有哪些事情要做。 具体事项 主要分两类,第一类是单纯的提升版本,主要如下: ...[2023/10/9]

Spring扩展接口(1):ApplicationContextInitializer

Spring扩展接口(1):ApplicationContextInitializer

在此系列文章中,我总结了Spring扩展接口,以及各个扩展点的使用场景。并整理出一个bean在spring中从被加载到初始化到销毁的所有可扩展点的顺序调用图。这样,我们也可以看到bean是如何一步步加载到spring容器中的。 ApplicationContextInitializer ...[2023/9/25]

SpringBoot WebSocket STOMP

SpringBoot WebSocket STOMP 关键词:Springboot, WebSocket, STOMP, broadcast, sendToUser, Me ageMapping, SubscribeMapping, convertAndSendToUser STOMP是一种发...[2023/9/25]

Dubbo3应用开发—XML形式的Dubbo应用开发和SpringBoot整合Dubbo开发

Dubbo3程序的初步开发 Dubbo3升级的核心内容 易?性 开箱即?,易?性?,如 Java 版本的?向接?代理特性能实现本地透明调?功能丰富,基于原?库或轻量扩展即可实现绝?多数的 微服务治理能?。更加完善了多语言支持(GO PYTHON RUST) 超?规模微服务实践 ?性...[2023/9/20]

快速搭建SpringBoot3.x项目

写在前面 上一小节中我们从0到1 使用Vite搭建了一个Vue3项目,并集成了Element Plus 实现了一个简单的增删改查页面。 这一篇中我们将使用IDEA快速搭建一个SpringBoot3.x的项目。 一、创建项目 1、File->new->project 2、选择...[2023/9/18]

面试官问Spring 启动流程,把这篇文章甩给他!

大家好,我是三友~~ 今天来扒一扒Spring在启动过程中核心的12个步骤 之所以来写这篇文章,主要是来填坑的 之前在三万字盘点Spring 9大核心基础功能这篇文章的末尾中给自己挖了一个坑,提了一嘴有机会要写这么一篇文章 但是由于Spring启动过程并不复杂,所以后面就没写了 不过,...[2023/9/13]

SpringBoot + 自定义注解,实现用户操作日志(支持SpEL表达式)

SpringBoot + 自定义注解,实现用户操作日志(支持SpEL表达式)

背景 一个成熟的系统,都会针对一些关键的操作,去创建用户操作日志。 比如: XX人创建了一条订单,订单号:XXXXXXXXX 因为操作人或者订单号是动态的,所以有些开发人员,不知道获取,就将这种操作日志和业务代码融在一起。 我们当然要杜绝这种现象,一定会有更好的解决方案。 当前项目...[2023/9/11]

Spring中事务的传播行为有哪些?

Spring中事务的传播行为有哪些? 现在我们来谈一个场景,再来引出事务传播行为这个概念。现在有methodA( ) 和 methodB( ),而且两个方法都显示的开启了事务,那么methodB( )是开启一个新事务,还是继续在methodA( )这个事务中执行,就取决于事务的传播行为了。 S...[2023/9/10]

浅聊一下SpringMVC的核心组件以及通过源码了解其执行流程

浅聊一下SpringMVC的核心组件以及通过源码了解其执行流程 MVC作为WEB项目开发的核心环节,正如三个单词的分解那样,Controller(控制器)将View(视图、用户客户端)与Model(javaBean:封装数据)分开构成了MVC,今天我们浅聊一下SpringMVC的相关组件以及通过...[2023/9/9]

给你的 SpringBoot 工程部署的 jar 包瘦瘦身吧!

之前有写过一篇有关maven插件的文章:spring-boot-maven-plugin插件详解 一、需求背景 我们知道Spring Boot项目,是可以通过java -jar 包名 启动的。 那为什么Spring Boot项目可以通过上述命令启动,而其它普通的项目却不可以呢? 原因在于...[2023/9/6]

用了这么久SpringBoot却还不知道的一个小技巧

用了这么久SpringBoot却还不知道的一个小技巧

前言 你可能调第三方接口喜欢启动application,修改,再启动,再修改,顺便还有个不喜欢写JUnitTest的习惯。 你可能有一天想要在SpringBoot启动后,立马想要干一些事情,现在没有可能是你还没遇到。 那么SpringBoot本身提供了一个小技巧,很多人估计没用过。...[2023/9/1]

java与es8实战之五:SpringBoot应用中操作es8(带安全检查:https、账号密码、API Key)

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https: github.com/zq2599/blog_demos 本篇概览 本篇是《java与es8实战》系列的第五篇,总体目标明确:实战在SpringBoot应用中操作elasticsearch8,今天的重点是...[2023/8/30]

[超详细]SpringBoot整合WebSocket

1. 什么是WebSocket? WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它允许在浏览器和服务器之间进行实时的、双向的通信。相对于传统的基于请求和响应的 HTTP 协议,WebSocket 提供了一种更有效、更实时的通信方式,适用于需要实时更新、实时通知和实时交互的...[2023/8/29]

日志开源组件(六)Adaptive Sampling 自适应采样

日志开源组件(六)Adaptive Sampling 自适应采样

业务背景 有时候日志的信息比较多,怎么样才可以让系统做到自适应采样呢? 拓展阅读 日志开源组件(一)java 注解结合 spring aop 实现自动输出日志 日志开源组件(二)java 注解结合 spring aop 实现日志traceId唯一标识 日志开源组件(三)java 注解结合 ...[2023/8/29]

java与es8实战之四:SpringBoot应用中操作es8(无安全检查)

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https: github.com/zq2599/blog_demos 本篇概览 本篇是《java与es8实战》系列的第四篇,系列文章写到现在,连个HelloWorld都没运行起来,实在说不过去了... 因此,本篇总体...[2023/8/29]

SpringBoot3.x原生镜像-Native Image实践

前提 之前曾经写过一篇《SpringBoot3.x 原生镜像-Native Image 尝鲜》,当时SpringBoot处于3.0.0-M5版本,功能尚未稳定。这次会基于SpringBoot当前最新的稳定版本3.1.2详细分析Native Image的实践过程。系统或者软件版本清单如下: ...[2023/8/21]

Spring源码学习笔记13——总结篇, 从IOC到AOP

系列文章目录和关于我 零丶序言 在《Spring源码学习笔记12——总结篇,IOC,Bean的生命周期,三大扩展点》中,我们总结了Spring IOC部分的知识,为了更好的给群里的伙伴们分享Spring AOP的知识,遂有了这篇文章,这篇文章将从IOC聊到AOP,其中IOC不会那么细致,重点还...[2023/8/18]

Spring面试攻略:如何展现你对Spring的深入理解

什么是Spring?谈谈你对IOC和AOP的理解。 Spring是一种Java开发框架,旨在简化企业级应用程序的开发和部署。它具有以下优点: 对象托管:Spring能够管理和赋值所有对象,使开发人员不再需要手动管理对象的创建和依赖关系。 动态代理:Spring的动态代理功能可以实现大部分可复用...[2023/8/16]

SpringBoot3安全管理

目录一、简介二、工程搭建1、工程结构2、依赖管理三、配置管理1、核心配置类2、认证数据源3、认证流程4、身份过滤器四、核心功能1、登录退出2、权限校验五、参考源码 标签:Security.登录.权限; 一、简介 SpringSecurity组件可以为服务提供安全管理的能力,比如身份验证...[2023/8/14]

SpringBoot3数据库集成

SpringBoot3数据库集成

标签:Jdbc.Druid.Mybatis.Plus; 一、简介 项目工程中,集成数据库实现对数据的增晒改查管理,是最基础的能力,而对于这个功能的实现,其组件选型也非常丰富; 通过如下几个组件来实现数据库的整合; Druid连接池:阿里开源的数据库连接池,并且提供SQL执行的监控能力;...[2023/8/14]

spring多数据源动态切换的实现原理及读写分离的应用

简介 AbstractRoutingDataSource是Spring框架中的一个抽象类,可以实现多数据源的动态切换和路由,以满足复杂的业务需求和提高系统的性能、可扩展性、灵活性。 应用场景 多租户支持:对于多租户的应用,根据当前租户来选择其对应的数据源,实现租户级别的隔离和数据存储。 分库分...[2023/8/11]

SpringBoot3文件管理

目录一、简介二、工程搭建1、工程结构2、依赖管理三、上传下载1、配置管理2、上传下载四、Excel文件1、Excel创建2、Excel读取3、解析监听4、导入导出五、参考源码 标签:上传.下载.Excel.导入.导出; 一、简介 在项目中,文件管理是常见的复杂功能; 首先文件的类型比...[2023/8/11]

SpringBoot3分库分表

SpringBoot3分库分表

标签:ShardingSphere5.分库.分表; 一、简介 分库分表的设计和实现方式,在之前的内容中总结过很多,本文基于SpringBoot3和ShardingSphere5框架实现数据分库分表的能力; 不得不提ShardingSphere5文档中描述的两个基本概念: 垂直分片 ...[2023/8/11]

三万字盘点Spring 9大核心基础功能

大家好,我是三友~~ 今天来跟大家聊一聊Spring的9大核心基础功能。 其实最近有小伙伴私信问我怎么不写文章了,催更来了 其实我不是不写,而是一直在写这篇文章,只不过令我没想到的是,从前期的选题、准备、翻源码、动手到写完,前后跨度接近一个月的时间,花了好几个周末,写了三万字,最终才算完...[2023/8/4]

策略模式+Spring配置类优化多if..else思路

图示 1. 现状 场景: 假设设备上报不同类型的消息,我们要对不同类型的消息做不同的处理。如果我们通过if..else的方式处理的话会显得比较冗余。 例如: if("alarmEvent".equals(msg)){ 处理告警消息逻辑 ... }else if("devi...[2023/7/28]

你真正了解Spring的工作原理吗

你真正了解Spring的工作原理吗

 Spring   1.1 什么是Spring IOC 和DI ?   ① 控制反转(IOC):Spring容器使用了工厂模式为我们创建了所需要的对象,我 们使用时不需要自己去创建,直接调用Spring为我们提供的对象即可,这就是控 制反转的思想...[2023/7/26]

你的Spring应用启动很慢?不妨试试这个工具!

睡不着闲逛,在GitHub上看到一个挺实用的开源项目:Spring Startup Analyzer。 从项目名称中就大概能猜到,这是一个分析Spring应用启动过程的工具。Spring Startup Analyzer通过采集Spring应用启动过程的数据,进而生成一个交互式的分析报告,帮助...[2023/7/24]

聊聊Spring注解@Transactional失效的那些事

一、前言 emm,又又又踩坑啦。这次的需求主要是对逾期计算的需求任务进行优化,现有的计算任务运行时间太长了。简单描述下此次的问题:在项目中进行多个数据库执行操作时,我们期望的是将其整个封装成一个事务,要么全部成功,或者全部失败,然而在自测异常场景时发现,里面涉及的第一个数据状态更新成功了,但是后...[2023/7/19]

再见RestTemplate,Spring 6.1新特性:RestClient 了解一下!

再见RestTemplate,Spring 6.1新特性:RestClient 了解一下!

在最近发布的Spring 6.1 M2版本中,推出了一个全新的同步HTTP客户端:RestClient。用一句话来让Spring开发者认识RestClient的话:像WebClient一样具备流畅API的RestTemplate。所以,RestClient的使命就是淘汰已经有14年历史的Rest...[2023/7/19]

Spring 中 Bean 的配置细节

前言 大家好,我是 god23bin,今天继续说 Spring 的内容,关于 Spring 中 Bean 的配置的,通过上一篇文章的学习,我们知道了 Spring 中的依赖注入,其中有两种主要的方式,分别是基于构造方法的 DI 和 基于 Setter 的 DI。 我们知道,当写完一个普通的 J...[2023/7/10]

Spring原理之web.xml加载过程

  web.xml是部署描述文件,它不是Spring所特有的,而是在Servlet规范中定义的,是web应用的配置文件。web.xml主要是用来配置欢迎页、servlet、filter、listener等以及定制servlet、JSP、Context初始化参数。   启动一...[2023/7/5]

Spring Cloud Gateway编码实现任意地址跳转

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https: github.com/zq2599/blog_demos 本篇概览 作为《Spring Cloud Gateway实战》系列的第十四篇,本文会继续发掘Spring Cloud Gateway的潜力,通过编...[2023/6/28]

Spring源码核心剖析

Spring源码核心剖析

前言 SpringAOP作为Spring最核心的能力之一,其重要性不言而喻。然后需要知道的是AOP并不只是Spring特有的功能,而是一种思想,一种通用的功能。而SpringAOP只是在AOP的基础上将能力集成到SpringIOC中,使其作为bean的一种,从而我们能够很方便的进行使用。 一、S...[2023/6/21]

Spring Cloud灰度部署

1、背景(灰度部署) 在我们系统发布生产环境时,有时为了确保新的服务逻辑没有问题,会让一小部分特定的用户来使用新的版本(比如客户端的内测版本),而其余的用户使用旧的版本,那么这个在Spring Cloud中该如何来实现呢? 负载均衡组件使用:Spring Cloud LoadBalancer ...[2023/6/21]

一种实现Spring动态数据源切换的方法

1 目标 不在现有查询代码逻辑上做任何改动,实现dao维度的数据源切换(即表维度) 2 使用场景 节约bdp的集群资源。接入新的宽表时,通常uat验证后就会停止集群释放资源,在对应的查询服务器uat环境时需要查询的是生产库的表数据(uat库表因为bdp实时任务停止,没有数据落入),只进行服务器...[2023/6/19]

揭秘Spring依赖注入和SpEL表达式

摘要:在本文中,我们深入探讨了Spring框架中的属性注入技术,包括setter注入、构造器注入、注解式属性注入,以及使用SpEL表达式进行属性注入。 本文分享自华为云社区《Spring高手之路3——揭秘Spring依赖注入和SpEL表达式》,作者:砖业洋__ 。 在本文中,我们深入探讨了Sp...[2023/6/12]

Spring事件监听机制使用和原理解析

你好,我是刘牌! 前言 好久没有更新Spring了,今天来分享一下Spring的事件监听机制,之前分享过一篇Spring监听机制的使用,今天从原理上进行解析,Spring的监听机制基于观察者模式,就是就是我们所说的发布订阅模式,这种模式可以在一定程度上实现代码的解耦,如果想要实现系统层面的解耦...[2023/6/12]

2023最新IntellJ IDEA诺依SpringCloud开发部署文档(保姆级别)

目录若依RuoYi v3.6.2部署文档一、环境构建二、模块描述三、部署后端1、下载到本地。2、MySQL导入数据。3、Nacos修改(1)保证本地Nacos下载安装成功,修改本地Nacos的application.properties。(2)启动本地的Nacos.4、启动本地的Redis5、启...[2023/6/5]

Spring源码:Bean生命周期(终章)

前言 本系列前面讲解了Spring的bean定义、bean实例化、bean初始化等生命周期。这些步骤使我们能够了解bean从创建到准备好使用所经历的过程。但是,除了这些步骤,bean的销毁也是非常重要的一步。在本系列的最后,我们将深入探讨bean的销毁过程,包括在什么情况下会发生销毁、销毁的顺序...[2023/5/25]

399
2
记录数:663 页数:1/1412345678910下一页尾页
 友情链接:直通硅谷  直通硅谷 怎么样 mac软件下载  热播韩剧  策驰影视  影视信息  七七影视
加载更多