Spring
文章平均质量分 90
从源码解析Spring
用针戳左手中指指头
you can do it
展开
-
事务和连接池配合使用存在的问题
今天讨论一个问题,如果全部方法都加上事务,会不会有问题?原创 2024-02-04 21:08:02 · 854 阅读 · 0 评论 -
spring aop实现接口超时处理组件
利用spring aop完成接口超时业务处理,并提取成spring starter组件原创 2024-02-04 21:13:20 · 624 阅读 · 2 评论 -
Spring中的上下文工具你写的可能有bug
Spring工具实现的方式,你必须清楚的执行逻辑;原创 2023-12-23 16:05:32 · 1587 阅读 · 0 评论 -
Spring中你应该要知道的initMethod
spring中存在一种initMethod,它和@PostConstruct差不多,但又不一样,且调用时机不同,设置的方式也不同。原创 2023-12-23 16:00:31 · 1590 阅读 · 0 评论 -
Spring中你一定要知道的afterPropertiesSet()
在开发中,常会使用在缓存的场景,对某一类数据进行缓存,或者需要在某一个bean完成初始化就需要执行的功能场景。原创 2023-12-22 21:06:23 · 1015 阅读 · 0 评论 -
Spring中你一定要知道的@PostConstruct/@PreDestroy
初始化bean和销毁bean时回调方法能帮你简化应用中繁杂的逻辑和代码,对于原理其实很简单。原创 2023-12-22 20:00:56 · 1808 阅读 · 0 评论 -
spring中你一定要知道的@Lookup
如果让你创建一个bean,起名为A,然后它有一个需要注入的属性B,在不人为干扰的情况下,如何让A为单例的情况下,使得B是动态的?原创 2023-12-21 21:08:12 · 969 阅读 · 0 评论 -
Spring中你应该要知道的的回调方式
本篇按照bean的声明周期顺序罗列出了其中所执行的回调方式,也是按照这个顺序进行排版的,有一些并不能作为我们开发所需要的就省略了,个别是因为同一个接口就整合到了一起,但并不影响。原创 2023-12-21 21:04:48 · 633 阅读 · 0 评论 -
Spring源码篇(十二)事件机制
spring事件的应用以及发布事件的原理分析原创 2023-10-23 20:34:27 · 186 阅读 · 0 评论 -
Spring源码篇(十一)注册bean的方式
你需要了解的spring注册bean的方法原创 2023-10-03 10:56:29 · 411 阅读 · 0 评论 -
Spring源码篇(十)@Bean怎么注册一个bean
从源码角度说明@Bean注册bean的过程原创 2023-09-29 11:11:32 · 375 阅读 · 0 评论 -
Spring源码篇(九)自动配置扫描class的原理
spring是怎样通过@ComponentScan,或者自动配置扫描到了依赖包里class的?原创 2023-08-04 22:14:21 · 898 阅读 · 0 评论 -
Java中的SPI机制与扫描class原理
Java的SPI机制与Spring中的SPI机制是如何实现的?原创 2023-08-04 22:09:37 · 505 阅读 · 0 评论 -
Spring Security 手把手带你入门到精通
本文作为第一篇,会用实例来说明SpringSecurity在生产中的用法,扩展它的功能,每个方案都会有一个完整的实例代码,代码仓库于文末贴出。该篇所涉及理论较少,以实例为主。这个版本在数据库版本上呢,升级了登录的自定义功能,可以根据项目设置自己的登录页、首页、登录处理的api,和登录成功与失败的回调处理;题外话:前后不分离的方式好处就是快速开发,方便部署,但其缺点也是显而易见的,随着迭代项目也会越来越大,主流还是分布式的,单体项目现在也很少见了。原创 2023-06-18 14:16:29 · 2142 阅读 · 3 评论 -
spring源码篇(八)事务的原理
不流于表面,深入理解AOP与事务逻辑的配合完成事务原创 2023-05-27 16:12:27 · 911 阅读 · 0 评论 -
SpringMvc(二)HandlesTypes源码
本篇只是探究@HandlesTypes的作用。原创 2022-11-06 14:37:33 · 1244 阅读 · 0 评论 -
SpringBoot源码篇(二)启动过程
SpringBoot启动做了什么,哪里启动的Tomcat原创 2022-11-06 14:34:25 · 823 阅读 · 0 评论 -
SpringBoot源码篇(一)自动配置
我以自动配置为SpringBoot的第一篇章,是因为从SpringMvc到SpringBoot,它实现了零配置,并出现了很多默认配置,在进行后面的源码理解时可能会有部分地方不理解,念头不通达,所以先将自动配置这部分给了解清楚,知道它的一个配置是怎么加载的,对后面的学习应该会更流畅一点。SpringBoot的自动配置由注解@EnableAutoConfiguration开启,所以我们从这个注解入手,看看它是怎么实现的自动配置,和条件过滤的。原创 2022-10-27 01:06:38 · 646 阅读 · 0 评论 -
SpringMvc(一)- 主流程
本章重点是了解springMvc主流程做了什么,有些细节不是很详细,它源码也不是晦涩难懂的程度。原创 2022-10-15 11:00:42 · 828 阅读 · 0 评论 -
SpringMvc(零)- Tomcat启动SpringMvc
本篇没有营养,只是记录的Tomcat的启动的一个过程,非常粗略,目的是为了了解,Tomcat是怎么加载SpringMvc并启动SpringMvc的,基本上只记录了关键位置,比如创建关键对象、加载配置、及通知应用的方式等等。后续考虑深入研究下。原创 2022-10-15 10:53:14 · 2968 阅读 · 0 评论 -
spring源码篇(七)AOP原理
文章目录前言动态代理jdk的动态代理CGLIB区别AOP的动态代理JdkDynamicAopProxyObjenesisCglibAopProxy自动代理BeanNameAutoProxyCreator例子原理流程梳理DefaultAdvisorAutoProxyCreator原理流程梳理@EnableAspectJAutoProxy流程梳理总结前言spring是如何实现AOP切面的,从原理上来说是动态代理,那么怎样去实现这个动态代理呢就是本篇的内容。动态代理spring中用到的动态代理有两种:JD原创 2021-05-15 09:34:22 · 733 阅读 · 3 评论 -
spring源码篇(六)配置类解析过程
文章目录前言知识回顾配置类的加载步骤1:找配置类如何确认是不是配置类步骤2:配置类排序和名称生成器步骤3:解析配置类怎样解析的配置类步骤1:找所有component步骤2:解析@PropertySource步骤3:解析@ComponentScan注解,并进行扫描componentScanParser.parseparse步骤4: 解析@Import步骤5: 解析@ImportResource步骤6: 解析配置类中的加了@Bean注解的方法步骤7:父类递归总结前言该篇是基于前面知识点进行解析,但涉及到前面原创 2021-05-04 15:51:48 · 670 阅读 · 0 评论 -
spring源码篇(五)启动过程
经过前面的章节,相信大家已经对spring容器创建bean有了认识,那么现在从spring启动来看它的一个架构,本来是想把配置类扫描的也加载本章,但两个主题并不相同,就拆开了。为什么spring要启动?spring启动又做了什么?为什么spring要启动?容器准备,为了能够更方便使用applicationContext。spring启动又做了什么?在spring容器启动时,创建beanFactory,用于管理bean创建beanDefinition读取器,用于读取class。原创 2021-03-21 14:56:28 · 835 阅读 · 0 评论 -
spring源码篇(四)依赖注入(控制反转)
上一篇走了一遍bean的生成过程,而在这个过程中,有一个属性填充的步骤,也就是依赖注入,这个概念不难,但其底层实现其实却有很多复杂的步骤,使得这个依赖注入的功能比较强大,所以这篇就是从源码角度,了解spring的依赖注入功能。注意:控制反转就是依赖注入,我在《spring应用篇》中提到过,但我发现还有很多人都认为这个概念是两个不同的概念。bean的生命周期简单看一下流程,详细的还是要看原文去:bean的生命周期加载类 ------- Class resolvedClass = resolveBe原创 2021-03-18 00:48:11 · 325 阅读 · 4 评论 -
spring源码篇(三)bean的生命周期
人人都说spring是bean容器,也正体现了Bean的生命周期在spring中是至关重要的存在。我用思维导图把上面的流程捋了一遍。深色的就是上面的各个步骤,偏绿色,和绿色的是后置处理器的部分,一共6次调用,就是说我们有6次机会修改bean,还每一算上填充属性里的后置处理器。深蓝色和蓝绿色的是上面的生命周期阶段;绿色字体和蓝绿色的是后置处理器处理的调用;蓝色字体的是可以自定义实现的bean初始化的地方;那么还是围绕问题回顾一下为什么要有beanDefinition。原创 2021-03-12 20:47:07 · 1158 阅读 · 2 评论 -
spring源码篇(二)核心概念熟悉
spring启动时,会扫描class字节码文件,然后将这些类都存储为beanDefinition,第一次扫描之后,得到所有的bean定义,之后就开始bean的初始化等等操作,所以可以把beanDefinition理解为原材料,spring为包工头,用这些原材料创建,重组完成项目基础架构的建造,所谓兵马未动粮草先行,在spring初始化容器创建bean时,就是根据这些beanDefinition进行实例化的。和上面两个一样,多了一个路径扫描,并将扫描到的含有注解的类注册。原创 2021-03-12 20:42:43 · 335 阅读 · 0 评论 -
spring源码篇(一)目录
Spring一系列导航原创 2021-03-12 20:39:28 · 188 阅读 · 0 评论 -
spring应用篇
文章目录控制反转和依赖注入自动注入手动注入setter方法注入构造器注入bean的作用域方法注入生命周期回调类路径扫描和组件管理控制反转和依赖注入spring有名的就是控制反转和依赖注入了,而其真正的意思我并未真正了解过。官网开篇说:控制反转就是依赖注入IoC is also known as dependency injection (DI)翻译过来就是:控制反转(IOC)也称依赖注入(DI)。这里涉及到几个概念:容器:在spring应用中,对象生存在spring容器中,由容器负责创建、原创 2021-01-17 19:35:06 · 917 阅读 · 1 评论 -
springboot 整合log4j2 记录
很少写博客;看了很多网上的教程,自己也试过了很多,有些问题也记录下来了希望能帮到其他朋友。SpringBoot整合log4j2很简单,两步:1、导入依赖。2、配置log4j2-spring.xml。 1、我配置成功的依赖: <dependency> <groupId>org.springframework.boot...原创 2018-09-11 13:07:19 · 1096 阅读 · 0 评论 -
SpringBoot单元测试依赖注入失败
依赖注入问题。 当时做项目是要去加载一个外部空间,一些固定变量存到配置文件然后单元测试的时候,一直报报错:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.sunnada.gaia.data.web.AutomaticSealTest':...原创 2019-04-09 19:45:41 · 2416 阅读 · 0 评论 -
springboot 整合eWebOffice
网上没有相关使用资料及介绍,能找到的只有demo和API文档,所以写下这篇,给后面的人提供个思路。这里我用的是官方给的数据库,即编辑页面,是一个简单的demo,没有签章等功能,这个控件是需要购买的,不购买的话有试用版,但虽然可以用,但保存会有有使用字样的图片,而且外面的框上也会有使用字样。1、将下载的试用版控件解压,2、把jar包添加到本地仓库,方便后面我们用pom的方式...原创 2019-01-30 18:35:50 · 1583 阅读 · 1 评论