写点什么

spring

42 人感兴趣 · 1020 次引用

  • 最新
  • 推荐

你知道 Spring 中 BeanFactoryPostProcessors 是如何执行的吗?

用户头像
EquatorCoco
7 小时前

Spring中的BeanFactoryPostProcessor是在Spring容器实例化Bean之后,初始化之前执行的一个扩展机制。它允许开发者在Bean的实例化和初始化之前对BeanDefinition进行修改和处理,从而对Bean的创建过程进行干预和定制化。

https://static001.geekbang.org/infoq/07/079efddc31d0fae1c31a081bf72a11b7.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Spring 配置文件的魔法炼金术:如何制造容器化时代的完美配方 | 京东物流技术团队

基于现代服务的云原生十二要素理论,我们在采用容器化部署时,要保证同一个镜像可以满足不同环境的部署要求,而不是不同环境打包不同的镜像。本文档主要介绍一种基于spring框架的满足不同环境配置的编译打包方案,满足同一个镜像可以在环境分组下通过启动项配

https://static001.geekbang.org/infoq/b3/b310289985149cb32d6b7eb0afc34371.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

和小伙伴们仔细梳理一下 Spring 国际化吧!从用法到源码!

国际化(Internationalization,简称 I18N)是指在 Java 应用程序中实现国际化的技术和方法。Java 提供了一套强大的国际化支持,使开发人员能够编写适应不同语言、地区和文化的应用程序。

https://static001.geekbang.org/infoq/02/020bd2027af35d485522ef3691f76740.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

将 Spring 微服务与 BI 工具集成:最佳实践

软件开发领域是一个不断发展的领域,新的范式和技术不断涌现。其中,微服务架构和商业智能(BI)工具的采用是两项关键进步。

https://static001.geekbang.org/infoq/b6/b65ad8f6fc14448a6497a1ef95ec84c3.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

关注潜在的整数越界问题 | 京东物流技术团队

在平时的开发过程中,整数越界是一个容易被忽视的问题,关注潜在的整数越界问题可使我们编写的代码更加健壮,规避因整数越界导致的 bug。

https://static001.geekbang.org/infoq/89/89d4472f7be361305a837443b9873efd.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

高效开发与设计:提效 Spring 应用的运行效率和生产力 | 京东云技术团队

线上的业务 jar 包基本上普遍比较庞大,动不动一个 jar 包几百 M,启动时间在10分钟级,拖慢了我们在故障时快速扩容的响应、以及本地开发调试效率。于是做了一些分析,看看 Spring 程序启动慢到底慢在哪里,如何去优化,目前的效果是大部分大型应用启动时间可

https://static001.geekbang.org/infoq/0f/0ff5b33d3b745c474770d722064626b0.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

你真的了解 @Async 吗? | 京东云技术团队

开发中会碰到一些耗时较长或者不需要立即得到执行结果的逻辑,比如消息推送、商品同步等都可以使用异步方法,这时我们可以用到@Async。但是直接使用 @Async 会有风险,当我们没有指定线程池时,他会默认使用其Spring自带的 SimpleAsyncTaskExecutor 线程池,

https://static001.geekbang.org/infoq/1d/1d201d146b890b8f5873a93ca062f51e.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

万字解析 XML 配置映射为 BeanDefinition 的源码

本文提供了深入Spring源码的透彻解析,从XML配置文件的加载开始,步入了Spring的内部世界。通过细致剖析setConfigLocations、refresh和loadBeanDefinitions等方法的实现,揭示了Bean从定义到注册的整个生命周期。

https://static001.geekbang.org/infoq/45/45246d7f8caf3727a29206c49b17fbac.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

SpringBoot 项目优雅实现读写分离 | 京东云技术团队

当使用Spring Boot开发数据库应用时,读写分离是一种常见的优化策略。读写分离将读操作和写操作分别分配给不同的数据库实例,以提高系统的吞吐量和性能。

https://static001.geekbang.org/infoq/69/6916823041361f390f4dffb021158e1a.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Java 面试题之 Logback 打印日志是如何获取当前方法名称的?

在 Java 中,有四种方法可以获取当前正在执行方法体的方法名称,分别是:

https://static001.geekbang.org/infoq/6c/6cbb1fef7019abf7b00f0a5be4bbded8.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

作者最近在开发公司项目时使用到 Redis 缓存,并在翻看前人代码时,看到了一种关于 @Cacheable 注解的自定义缓存有效期的解决方案,感觉比较实用,因此作者自己拓展完善了一番后分享给各位。

Spring 微服务:数据压缩技术

随着云原生架构的兴起,微服务已成为可扩展和可维护系统的重要构建块。顾名思义,微服务是小型的、独立的服务,它们共同构成一个完整的系统。当使用微服务构建系统时,尤其是那些具有大量数据交换的系统时,确保服务之间的数据传输快速高效变得至关重要。

如何让 Bean 深度感知 Spring 容器

Spring 有一个特点,就是创建出来的 Bean 对容器是无感的,一个 Bean 是怎么样被容器从一个 Class 整成一个 Bean 的,对于 Bean 本身来说是不知道的,当然也不需要知道,也就是 Bean 对容器的存在是无感的。

https://static001.geekbang.org/infoq/48/48569cc7bd367e2c536a74b54f0e4c32.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

掌握 Spring 事件监听器的内部逻辑与实现

本文详细剖析了Spring 5.x的事件模型、事件发布源码、Application Event Multicaster的作用以及事件广播的核心逻辑。

https://static001.geekbang.org/infoq/5c/5c93aa9414179a77ab5e1d60e0256dd3.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Spring 高手之路 15——掌握 Spring 事件监听器的内部逻辑与实现

深入探索Spring的事件处理机制,从事件的层次传播、PayloadApplicationEvent的使用,到为何选择自定义事件。本文详细剖析了Spring 5.x的事件模型、事件发布源码、ApplicationEventMulticaster的作用以及事件广播的核心逻辑。

https://static001.geekbang.org/infoq/b4/b404f0f3ad81f89f486e073431fbb61c.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

带着问题去分析:Spring Bean 生命周期 | 京东物流技术团队

从我们编写的Java类到Spring容器中可使用的Bean实例的创建过程就完整的梳理完成了,了解Bean的创建过程能够使我们更加熟悉Bean的使用方法,同时我们也可以在创建Bean的过程中新增自己的处理逻辑,从而实现将自己的组件接入Spring框架:

https://static001.geekbang.org/infoq/ba/baba70659a9756468e52af2079b9ce3d.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Spring Bean 名称暗藏玄机,这样取名就不会被代理

一些使用小细节就是在不断的源码探索中逐步发现的,今天就来和小伙伴们聊一下通过 beanName 的设置,可以让一个 bean 拒绝被代理!

https://static001.geekbang.org/infoq/08/08742c4a209ed1f500369319cb2cc979.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Spring Boot 是什么?它的优点是什么?

Spring Boot是一个用于创建独立的、生产级的Spring应用程序的开发框架。它基于Spring框架,并提供了自动配置、约定优于配置的原则,以及快速、简单地构建可部署的应用程序的能力。以下是Spring Boot的优点:

https://static001.geekbang.org/infoq/ba/baba70659a9756468e52af2079b9ce3d.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

面试题解答:Spring Lifecycle 和 SmartLifecycle 有何区别?

当我们想在 Spring 容器启动或者关闭的时候,做一些初始化操作或者对象销毁操作,我们可以怎么做?

https://static001.geekbang.org/infoq/ba/baba70659a9756468e52af2079b9ce3d.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

@Scope 注解失效了?咋回事

scope 属性,相信大家都知道,一共有六种:

https://static001.geekbang.org/infoq/12/123f77d3d72412b485b5c0c9e3f29354.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Spring AOP 中被代理的对象一定是单例吗?

今天我们来思考这样一个问题:在 Spring AOP 中,被代理的对象是单例的吗?当我们每次获取到代理对象的时候,都会重新获取一个新的被代理对象吗?还是被代理的对象始终是同一个?

https://static001.geekbang.org/infoq/b6/b65ad8f6fc14448a6497a1ef95ec84c3.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Dubbo 源码浅析(一)—RPC 框架与 Dubbo | 京东云技术团队

RPC,Remote Procedure Call 即远程过程调用,与之相对的是本地服务调用,即LPC(Local Procedure Call)。本地服务调用比较常用,像我们应用内部程序**(注意此处是程序而不是方法,程序包含方法)**互相调用即为本地过程调用,而远程过程调用是指在本地调取远程

https://static001.geekbang.org/infoq/1d/1d201d146b890b8f5873a93ca062f51e.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

一文给你讲清楚 BeanFactory 和 FactoryBean 的关联与区别

BeanFactory 和 FactoryBean都包含一些Bean实例,除此之外其实没有什么相同的地方。

https://static001.geekbang.org/infoq/07/079efddc31d0fae1c31a081bf72a11b7.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

主动写入流对 @ResponseBody 注解的影响 | 京东云技术团队

2023年Q2某日运营反馈一个问题,商品系统商家中心某批量工具模板无法下载,导致功能无法使用(因为模板是动态变化的)

https://static001.geekbang.org/infoq/07/079efddc31d0fae1c31a081bf72a11b7.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

基于 Spring 事务的可靠异步调用实践 | 京东物流技术团队

SpringTxAsync组件是仓储平台组(WMS6)自主研发的一个专门用于解决可靠异步调用问题的组件。

https://static001.geekbang.org/infoq/5c/5c93aa9414179a77ab5e1d60e0256dd3.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Spring 高手之路 14——深入浅出:SPI 机制在 JDK 与 Spring Boot 中的应用

本文深入探讨了Spring Boot中与Java的标准SPI相似的机制,揭示了它的工作原理、应用场景及与标准SPI的异同。文章通过实际代码示例为你展示了如何在Spring Boot中使用这一机制,并以形象的比喻帮助你理解其背后的思想。

https://static001.geekbang.org/infoq/bd/bd53c8fad62a2d9d7683d40dfca2b765.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Spring 中三种 BeanName 生成器!

无论我们是通过 XML 文件,还是 Java 代码,亦或是包扫描的方式去注册 Bean,都可以不设置 BeanName,而 Spring 均会为之提供默认的 beanName,今天我们就来看看 Spring 中三种处理不同情况的 beanName 生成器。

Spring 条件注解没生效?咋回事

条件注解相信各位小伙伴都用过,Spring 中的多环境配置 profile 底层就是通过条件注解来实现的,松哥在之前的 Spring 视频中也有和大家详细介绍过条件注解的使用,感兴趣的小伙伴戳这里:Spring源码应该怎么学?。

https://static001.geekbang.org/infoq/f2/f25151841e94ba45d54b039149bc109f.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Spring 中 Bean 的生命周期

在您的应用程序中,由Spring IoC容器管理的形成其核心的对象被称为"bean"。一个bean是由Spring IoC容器实例化、组装和管理的对象。这些bean是通过您提供给容器的配置元数据创建的,例如,在前面章节中已经看到的XML <bean/> 定义。

spring_spring技术文章_InfoQ写作社区