Spring Framework
3 人感兴趣 · 58 次引用
- 最新
- 推荐

【深入浅出 Spring 原理及实战】「源码调试分析」结合 DataSourceRegister 深入分析 ImportBeanDefinitionRegistrar 的源码运作流程
人的一生中不可能会一帆风顺,总会遇到一些挫折,当你对生活失去了信心的时候,仔细的看一看、好好回想一下你所遇到的最美好的事情吧,那会让你感觉到生活的美好。

spring4.1.8 扩展实战之八:Import 注解
spring框架下做开发时,@Import是常见的注解,可以用来动态创建bean,今天我们先从源码分析原理,再用实战来验证Import的作用

spring4.1.8 扩展实战之五:改变 bean 的定义 (BeanFactoryPostProcessor 接口)
通过自定义BeanFactoryPostProcessor接口的实现类,来对bean实例做一些控制

spring4.1.8 扩展实战之四:感知 spring 容器变化 (SmartLifecycle 接口)
如果业务上需要在spring容器启动和关闭的时候做一些操作,可以自定义SmartLifecycle接口的实现类来扩展,本章我们通过先分析再实战的方法,来掌握这种扩展方式

spring4.1.8 扩展实战之三:广播与监听
提到广播与监听,我们常常会想到RabbitMQ、Kafka等消息中间件,这些常用于分布式系统中多个应用之间,有时候应用自身内部也有广播和监听的需求,这时spring的基于ApplicationContext的广播监听就派上用场了,接下来从原理到实践来了解spring提供的这套机制吧

spring4.1.8 扩展实战之二:Aware 接口揭秘
Aware.java是个没有定义任何方法的接口,拥有众多子接口,在spring源码中有多处都在使用这些子接口完成各种场景下的回调操作,当业务有需要时,我们只需创建类来实现相关接口,再声明为bean,就可以被spring容器主动回调

spring4.1.8 扩展实战之一:自定义环境变量验证
在之前学习spring环境初始化源码的过程中,见到有些地方能通过子类来实现自定义扩展,从本章开始,我们来逐个实践这些扩展,除了加深对spring的理解,有的扩展也能解决一些通用的问题

SpringBoot 应用使用自定义的 ApplicationContext 实现类
在学习spring容器初始化的过程中,发现spring容器预留了一些扩展点,我们可以写子类来做功能扩展,今天就来探寻SpringBoot框架下的扩展方式

spring4.1.8 初始化源码学习三部曲之三:AbstractApplicationContext.refresh 方法
《spring4.1.8初始化源码学习三部曲》系列的终篇,重点是学习AbstractApplicationContext类的refresh()方法

第 1 章 -Spring 的模块与应用场景
Spring 框架可以为 Java 应用程序开发提供全面的基础设施支持,它是现在非常流行的 Java 开源框架,对于一个 Java 开发人员来说,熟练掌握 Spring 是必不可少的。

1 月月更|推荐学 java——Spring 集成 MyBatis
到本文,我们已经学习了 SSM 框架中的 MyBatis 和 Spring 两大核心内容,本文介绍如何将两者结合起来在项目中使用,这也是实际开发中常用的操作,必须掌握,下面开始撸码~

【Spring 专场】「MVC 容器」不看源码就带你认识核心流程以及运作原理
之前已经写了很多问斩针对于SpringMVC的的执行原理和核心流程,在此再进行冗余介绍就没有任何意义了,所以我们主要考虑的就是针对于SpringMVC还没但大框架有介绍的相关内容解析分析和说明,那么接下来就让我们来接入Spring框架在核心的三大框架之一。

【Spring 专场】「IOC 容器」不看源码就带你认识核心流程以及运作原理
🍃【Spring核心专题】「IOC容器篇」不看繁琐的源码就带你浏览Spring的核心流程以及运作原理

🍃【Spring 专题】「实战系列」spring 注解 @ConditionalOnExpression 详细使用说明
通过Spring框架进行判断的Bean,Class是否存在,配置参数是否存在或者有某个值而言,这个依赖SPEL表达式的,就显得更加的高级了;其主要就是执行Spel表达式,根据返回的true/false来判断是否满足条件。至于SPEL是什么东西,下面以一个简单的demo进行演示它的

Java 本地事务失效了,线上应该如何排查?
很多需要使用事务的场景,都只是在方法上直接添加个@Transactional注解,但这样就能高枕无忧了吗?

我的 Spring AOP 没生效,我该如何排查?
Spring在程序运行期,就能帮助我们把切面中的代码织入Bean的方法内,让开发者能无感知地在容器对象方法前后随心添加相应处理逻辑,所以AOP其实就是个代理模式。但凡是代理,由于代码不可直接阅读,也是初级程序员们 bug 的重灾区。

spring 的默认事务传播是什么?
常用的7种事务传播机制类型,但是在日常工作中经常使用的只有REQUIRED,NOT_SUPPORTTED,REQUIRES_NEW.

spring 的事务隔离级别是何许人也
spring存在五种隔离级别:这五种隔离级别通常是来源于MySQL的事务的隔离级别,可以相应的解决事务提交过程中的,数据安全的问题,比如读未提交,不可重复读取,脏读,幻读的问题,其中脏读(读未提交);
一张图彻底搞懂 Spring 循环依赖
BeanA类依赖了BeanB类,同时BeanB类又依赖了BeanA类。这种依赖关系形成了一个闭环,我们把这种依赖关系就称之为循环依赖。

【源码系列】Spring Bean 循环依赖
Spring Bean 循环依赖的处理,主要是通过与 Bean 相关的三个缓存来实现的

字节三面:对于 Spring 你了解多少?如果你会了这 150 道题 ,吊打面试官岂不是洒洒水?
Spring 框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。

8. 格式化器大一统 -- Spring 的 Formatter 抽象
Date日期、JSR 310日期、数字、百分数、钱币格式化大一统


7. JDK 拍了拍你:字符串拼接一定记得用 MessageFormat#format
收藏此文,JDK的格式化体系就全部搞定了

6. 抹平差异,统一类型转换服务 ConversionService
框架设计复杂度,暴露给使用者的话你就输了


4. 上新了 Spring,全新一代类型转换机制
Converter、ConverterFactory、GenericConverter