经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 Spring

13年过去了,Spring官方竟然真的支持Bean的异步初始化了!

你好呀,我是歪歪。 两年前我曾经发布过这样的一篇文章《我是真没想到,这个面试题居然从11年前就开始讨论了,而官方今年才表态。》 文章主要就是由这个面试题引起: Spring 在启动期间会做类扫描,以单例模式放入 ioc。但是 spring 只是一个个类进行处理,如果为了加速,我们取消 s...[2024/5/21]

谈谈 Spring 的过滤器和拦截器

前言 我们在进行 Web 应用开发时,时常需要对请求进行拦截或处理,故 Spring 为我们提供了过滤器和拦截器来应对这种情况。那么两者之间有什么不同呢?本文将详细讲解两者的区别和对应的使用场景。 (本文的代码实现首先是基于 SpringBoot,Spring 的实现方式仅简单描述) ...[2024/5/13]

智能工作流:Spring AI高效批量化提示访问方案

基于SpringAI搭建系统,依靠线程池\负载均衡等技术进行请求优化,用于解决科研&开发过程中对GPT接口进行批量化接口请求中出现的问题。 github地址:https: github.com/linkcao pringai-wave 大语言模型接口以OpenAI的GPT 3.5为例...[2024/5/13]

Java面试题:Spring Bean线程安全?别担心,只要你不写并发代码就好了!

Java面试题:Spring Bean线程安全?别担心,只要你不写并发代码就好了!

Spring中的Bean是否线程安全取决于Bean的作用域(scope)。Spring提供了几种不同的Scope,其中包括Singleton、Prototype、Request、Se ion、Global Se ion等。   Singleton Scope(单例模式) 默认情况...[2024/5/13]

Spring6 的JdbcTemplate的JDBC模板类的详细使用说明 - Rainbow-Sea

1. Spring6 的JdbcTemplate的JDBC模板类的详细使用说明 @目录1. Spring6 的JdbcTemplate的JDBC模板类的详细使用说明每博一文案2. 环境准备3. 数据准备4. 开始4.1 从数据表中插入(添加)数据4.2 从数据表中修改数据4.3 从数据表中删除数...[2024/5/13]

Spring如何控制Bean的加载顺序

前言 正常情况下,Spring 容器加载 Bean 的顺序是不确定的,那么我们如果需要按顺序加载 Bean 时应如何操作?本文将详细讲述我们如何才能控制 Bean 的加载顺序。 场景 我创建了 4 个 Cla 文件,分别命名为 FirstInitialization Second...[2024/5/11]

美团二面:SpringBoot读取配置优先级顺序是什么?

引言 Spring Boot作为一种轻量级的Java应用程序框架,以其开箱即用、快速搭建新项目的特性赢得了广大开发者的青睐。其核心理念之一就是简化配置过程,使开发者能够快速响应复杂多变的生产环境需求。为了实现这一点,Spring Boot支持丰富的外部化配置机制,允许应用程序根据不同的部署环境灵...[2024/5/11]

Java面试题:你知道Spring的IOC吗?那么,它为什么这么重要呢?

Spring的IOC(控制反转)是一种设计模式,它允许开发者将对象的创建和管理交给Spring框架来完成。在Spring中,IOC允许开发者将对象依赖关系从代码中分离出来,从而使代码更加灵活、可重用和易于管理。 IoC 全称Inverse of Control(反向控制或控制反转)。 在类和...[2024/4/29]

有意思!一个关于 Spring 历史的在线小游戏

有意思!一个关于 Spring 历史的在线小游戏

发现 Spring One 的官网上有个好玩的彩蛋,分享给大家! 进到Spring One的官网,可以看到右下角有个类似马里奥游戏中的金币图标。 点击该金币之后,会打开一个新的页面,进入下面这样一个名为:The History Of Spring 的在线小游戏 你可以使用上下左右的...[2024/4/29]

Spring 源码阅读(二)IoC 容器初始化以及 BeanFactory 创建和 BeanDefinition 加载过程

Spring 源码阅读(二)IoC 容器初始化以及 BeanFactory 创建和 BeanDefinition 加载过程

相关代码提交记录:https: github.com/linweiwang pring-framework-5.3.33 IoC 容器三种启动方式 XML JavaSE: ApplicationContext context = new Cla PathXmlApplicationCo...[2024/4/23]

SSM使用自定义ConditionalOnProperty实现按需加载spring bean

SSM使用自定义ConditionalOnProperty实现按需加载spring bean 背景: 公司提供的系统框架是SSM架构,SSM架构是没有springboot的ConditionalOnProperty注解的,而我们的系统是在很多区县部署的,每个区县会有一些定制化需求,其中有一个类...[2024/4/15]

京东一面:如何在SpringBoot启动时执行特定代码?有哪些方式?

引言 Spring Boot 提供了许多便捷的功能和特性,使得开发者可以更加轻松地构建强大、高效的应用程序。然而,在应用程序启动时执行一些初始化操作是至关重要的,它可以确保应用程序在启动后处于预期的状态,从而提供更好的用户体验和稳定性。 在应用程序启动时执行初始化操作有许多好处。首先,它可以确...[2024/4/11]

详解Java Chassis 3与Spring Cloud的互操作

详解Java Chassis 3与Spring Cloud的互操作

本文分享自华为云社区《Java Cha is 3技术解密:与Spring Cloud的互操作》,作者: liubao68。 Java Cha is 3一个很重要的设计原则:利用架构的韧性设计来解决兼容性问题。 比如通过引入微服务网关,来解决不同语言、不同框架、遗留系统之间的互操作问题。 ...[2024/4/10]

微服务集成Spring Cloud Zipkin实现链路追踪并集成Dubbo

微服务集成Spring Cloud Zipkin实现链路追踪并集成Dubbo

1、什么是ZipKin Zipkin 是一个根据 Google 发表的论文“ Dapper” 进行开源实现的分布式跟踪系统。 Dapper是Google 公司内部的分布式追踪系统,用于生产环境中的系统分布式跟踪。 Google在其论文中对此进行了解释,他们“构建了Dapper,以向Google开...[2024/4/8]

SpringBoot多环境配置

SpringBoot多环境配置

写在前面 在实际项目的开发过程中,我们程序往往需要在不同环境中运行。例如:开发环境、测试环境和生产环境。 每个环境中的配置参数可能都会有所不同,例如数据库连接信息、文件服务器等等。 Spring Boot 提供了非常方便的方式来管理这些不同环境的配置。 一、Spring Profile 介绍...[2024/4/1]

SPEL表达式注入分析

SPEL表达式注入分析

环境依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expre ...[2024/3/29]

springboot3接入nacos

springboot3接入nacos

参考:https: blog.csdn.net/qinguan111/article/detail 132877842(连接不上nacos) https: verytoolz.com/yaml-formatter.html(yaml格式工具) 好吧,从昨天下午到今天快上午一直在被接入naco...[2024/3/29]

【毕业设计】基于springboot的大学生综合素质测评管理系统

【毕业设计】基于springboot的大学生综合素质测评管理系统

前言 【毕业设计】大学生综测管理系统 ??个人主页:@MIKE笔记 ??文章专栏:毕业设计源码合集 ?联系博主: wx:mikenote 毕设目录 项目名 文章地址 ??下载 1、基于springboot的大学生综合素质测评管理系统 http: t.csdn.cn...[2024/3/29]

SpringBoot 常用注解总结

核心注解 1. @SpringBootApplication 主要用于开启自动配置,它也是一个组合注解,主要组合了 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan 2. @EnableAutoConfigurati...[2024/3/29]

SpringCloud微服务集成Dubbo

1、Dubbo介绍 Apache Dubbo 是一款易用、高性能的 WEB 和 RPC 框架,同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、工具与最佳实践。用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubb...[2024/3/29]

线上gc问题-SpringActuator的坑

整体复盘: 一个不算普通的周五中午,同事收到了大量了cpu异常的报警。根据报警表现和通过arthas查看,很明显的问题就是内存不足,疯狂无效gc。而且结合arthas和gc日志查看,老年代打满了,gc不了一点。既然问题是内存问题,那么老样子,通过jmap和heap dump 文件分析。 不感兴...[2024/3/27]

SpringBoot如何优雅的进行参数校验

写在前面 上一篇文章中我们学会了如何优雅的接收前端参数,传送门 SpringBoot如何优雅的接收前端参数 接收到参数后,接下来要做的就是校验参数的合法性。这一步的重要性就不用多说了。 即使前端已经对数据进行了校验,我们后端还是要再对接收到的数据进行一遍彻底的校验。 这样可以避免张三等人...[2024/3/26]

springboot如何优雅的获取前端参数

写在前面 对于初学者来说,困难的不是理论知识,而是如何在程序中具体实现。 现在的项目基本上都是前后端分离的项目,如何打通前后端,接收前端传过来的参数呢? 废话不多说,这篇文章就来说一说接收前端参数的具体操作 一、获取路径中的值 1.1 核心代码 @GetMapping("/getArtic...[2024/3/18]

Spring多线程事务处理

Spring多线程事务处理

一、背景 本文主要介绍了spring多线程事务的解决方案,心急的小伙伴可以跳过上面的理论介绍分析部分直接看最终解决方案。 在我们日常的业务活动中,经常会出现大规模的修改插入操作,比如在3.0的活动赛事创建,涉及到十几张表的插入(一张表可能插入一行或者多行数据),由于单线程模型的关系,所有的s...[2024/3/13]

玩转SpringBoot:SpringBoot的几种定时任务实现方式

引言 在现代软件开发中,定时任务是一种常见的需求,用于执行周期性的任务或在特定的时间点执行任务。这些任务可能涉及数据同步、数据备份、报表生成、缓存刷新等方面,对系统的稳定性和可靠性有着重要的影响。Spring Boot提供了强大且简单的定时任务功能,使开发人员能够轻松地管理和执行这些任务。 本...[2024/3/7]

解析Spring中的循环依赖问题:初探三级缓存

什么是循环依赖? 这个情况很简单,即A对象依赖B对象,同时B对象也依赖A对象,让我们来简单看一下。 A依赖了B cla A{ public B b; } B依赖了A cla B{ public A a; } 这种循环依赖可能会引发问题吗? 在没有考虑Spring框架的情...[2024/2/28]

简单看下最近的Spring Secrurity、Spring漏洞(CVE-2024-22234、CVE-2024-22243)

最近的这两个cve我看国内很多情报将其评为高危,所以想着去看看原理,看完发现都比较简单,利用要求的场景也相对有限(特别是第一个),所以就随便看下就行了 Spring Security 用户认证绕过(CVE-2024-22234) 先看下官网的公告(https: pring.io ecurity...[2024/2/28]

解析Spring中的循环依赖问题:再探三级缓存(AOP)

前言 在之前的内容中,我们简要探讨了循环依赖,并指出仅通过引入二级缓存即可解决此问题。然而,你可能会好奇为何在Spring框架中还需要引入三级缓存singletonFactories。在前述总结中,我已经提供了答案,即AOP代理对象。接下来,我们将深入探讨这一话题。 AOP 在Spring框架...[2024/2/28]

Java21 + SpringBoot3使用Spring Security时如何在子线程中获取到认证信息

Java21 + SpringBoot3使用Spring Security时如何在子线程中获取到认证信息

目录前言原因分析解决方案方案1:手动设置线程中的认证信息方案2:使用DelegatingSecurityContextRunnable创建线程方案3:修改Spring Security安全策略通过设置JVM参数修改安全策略通过SecurityContextHolder修改安全策略总结 前言 ...[2024/2/19]

源码剖析Spring依赖注入:今天你还不会,你就输了

在之前的讲解中,我乐意将源码拿出来并粘贴在文章中,让大家看一下。然而,我最近意识到这样做不仅会占用很多篇幅,而且实际作用很小,因为大部分人不会花太多时间去阅读源码。 因此,从今天开始,我将采取以下几个步骤:首先,我会提前画出一张图来展示本章节要讲解的内容的调用链路,供大家参考。其次,在文章中,...[2024/2/19]

新来的一个同事,把SpringBoot参数校验玩的那叫一个优雅

介绍 在开发现代应用程序时,数据验证是确保用户输入的正确性和应用程序数据完整性的关键方面。Spring Boot 提供了强大的数据验证机制,使开发者能够轻松地执行验证操作。本文将深入介绍 Spring Boot 中的 Validation,以及如何在应用程序中正确使用它。 为什么使用数据验证? ...[2024/2/7]

spring声明式事务(@Transactional)开发常犯的几个错误及解决办法

目前JAVA的微服务项目基本都是SSM结构(即:springCloud +springMVC+Mybatis),而其中Mybatis事务的管理也是交由spring来管理,大部份都是使用声明式事务(@Transactional)来进行事务一致性的管理,然后在实际日常开发过程中,发现很多开发同学都用...[2024/2/5]

SpringBoot + LiteFlow:轻松应对复杂业务逻辑,简直不要太香!

LiteFlow简介 LiteFlow是什么? LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑。通过支持热加载规则配置,开发者能够即时调整流程步骤,将复杂的业务如价格计算、下单流程等拆分为独立且可复用的组件,从而实现系统的...[2024/2/5]

SpringBoot实现统一异常处理

目录前言实现步骤定义统一响应对象类定义业务异常枚举接口和实现定义业务异常基类定义全局异常处理切面测试和验证总结 前言 近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。本项目为前后端...[2024/2/5]

阿里二面:SpringBoot可以同时处理多少个请求?当场懵了。。。。

SpringBoot以其简洁高效的开发方式和强大的内嵌容器特性,为开发者提供了构建高性能后端服务的便利。然而,当面临高并发场景时,理解并合理配置Spring Boot应用以达到最佳的并发处理能力至关重要。在Spring Boot中,应用程序对HTTP请求的并发处理主要依赖于内嵌的Servlet容...[2024/2/5]

SpringBoot 整合多数据源的事务问题

SpringBoot 整合多数据源的事务问题

代码 先贴代码: 核心就是:Spring给我们提供的一个类 AbstractRoutingDataSource,然后我们再写一个切面来切换数据源,肯定要有一个地方存储key还要保证上下文都可用,所以我们使用 ThreadLocal 来存储数据源的key pom.xml <de...[2024/2/2]

Spring自带的这11个工具类,真香!

前言 最近有些小伙伴,希望我分享一些好用的工具类,帮他们提升开发效率。 今天这篇文章专门跟大家一起总结一下,Spring框架本身自带的一些好用的工具类,希望对你会有所帮助。 1 A ert 很多时候,我们需要在代码中做判断:如果不满足条件,则抛异常。 有没有统一的封装呢? 其实Spr...[2024/2/2]

Spring WebSocket实现实时通信的详细教程

简介 WebSocket 是基于TCP/IP协议,独立于HTTP协议的通信协议。WebSocket 连接允许客户端和服务器之间的全双工通信,以便任何一方都可以通过已建立的连接将数据推送到另一方。 我们常用的HTTP是客户端通过「请求-响应」的方式与服务器建立通信的,必须是客户端主动触发的行为,...[2024/1/29]

springboot整合nacos的入门Demo

Nacos介绍 Nacos /nɑ:k?? 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特...[2024/1/29]

Spring Cloud 系列:基于Seata 实现 XA模式

https: eata.io/zh-cn/doc user/mode/xa https: eata.io/zh-cn/doc dev/mode/xa-mode XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Proce ing)...[2024/1/26]

SpringBoot 这么实现动态数据源切换,就很丝滑!

大家好,我是小富~ 简介 项目开发中经常会遇到多数据源同时使用的场景,比如冷热数据的查询等情况,我们可以使用类似现成的工具包来解决问题,但在多数据源的使用中通常伴随着定制化的业务,所以一般的公司还是会自行实现多数据源切换的功能,接下来一起使用实现自定义注解的形式来实现一下。 基础配置 yml配...[2023/12/26]

5分钟攻略Spring-Retry框架实现经典重试场景

前言 今天分享干货,控制了篇幅,5分钟内就能看完学会。 主题是Spring-Retry框架的应用,做了一个很清晰的案例,代码可下载自测。 框架介绍 Spring-Retry框架是Spring自带的功能,具备间隔重试、包含异常、排除异常、控制重试频率等特点,是项目开发中很实用的一种框架。 本...[2023/12/22]

玩转Spring状态机

说起Spring状态机,大家很容易联想到这个状态机和设计模式中状态模式的区别是啥呢?没错,Spring状态机就是状态模式的一种实现,在介绍Spring状态机之前,让我们来看看设计模式中的状态模式。 1. 状态模式 状态模式的定义如下: 状态模式(State Pattern)是一种行为型设计模...[2023/12/21]

Spring Cache + Caffeine的整合与使用

前言 对于一些项目里需要对数据库里的某些数据一直重复请求的,且这些数据基本是固定的,在这种情况下,可以借助简单使用本地缓存来缓存这些数据。这些介绍一下Spring Cache和Caffeine的使用。 引入依赖和CacheConfig 在pom文件里面引入下面的依赖: <dep...[2023/12/15]

项目实战接口开发SpringBoot

目录一、springboot官方demo开发二、使用SpringBoot开发get方法接口三、一个要求携带cookie信息访问的get接口开发四、需要携带参数的get请求两种开发方式4.1 方式1:url:key=value&key=value4.2 方式2:url:ip:port/ge...[2023/12/15]

spring cloud生态中Feign、Ribbon、loadbalancer的一些历史

背景 本意是想写个feign中loadbalancer组件和nacos相遇后,一个兼容相关的问题,后面发现Feign这套东西很深,想一篇文章写清楚很难,就先开一篇,讲历史。 Feign、OpenFeign、Spring Cloud OpenFeign Feign Feign是Java生态中的一...[2023/12/15]

springboot下添加全局异常处理和自定义异常处理

springboot下添加全局异常处理和自定义异常处理

前言 在spring项目中,优雅处理异常,好处是可以将系统产生的全部异常统一捕获处理,自定义的异常也由全局异常来捕获,如果涉及到validator参数校验器使用全局异常捕获也是较为方便。 相关代码: GlobalExceptionHandler类: @Slf4j @RestControlle...[2023/12/13]

SpringMvc集成开源流量监控、限流、熔断降级、负载保护组件Sentinel

SpringMvc集成开源流量监控、限流、熔断降级、负载保护组件Sentinel

前言:作者查阅了Sentinel官网、51CTO、CSDN、码农家园、博客园等很多技术文章都没有很准确的springmvc集成Sentinel的示例,因此整理了本文,主要介绍SpringMvc集成Sentinel SpringMvc集成Sentinel 一、Sentinel 介绍 随着微服务的...[2023/12/1]

springboot如何用jar包启动,同时为不同机房设置不同的配置文件

1、首先先把配置文件从jar中抽离 示例代码: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artif...[2023/12/1]

SpringBoot进阶教程(七十八)邮件服务

Sun公司提供了JavaMail用来实现邮件发送,但是配置烦琐,Spring中提供了JavaMailSender用来简化邮件配置,Spring Boot则提供了MailSenderAutoConfiguration对邮件的发送做了进一步简化。 v准备工作 开通POP3/SMTP服务或者I...[2023/12/1]

399
2
记录数:715 页数:1/1512345678910下一页尾页
 友情链接:直通硅谷  直通硅谷 怎么样 mac软件下载
加载更多