Spring
文章平均质量分 92
Spring相关技术文章
每天都要进步一点点
工作日常技术学习、积累、总结
展开
-
Spring中注册Bean的方式有哪些?
目录一、概述二、第一种方式: XML配置方式三、第二种方式: 使用@Component注解 + @ComponentScan包扫描方式四、第三种方式:@Configuration + @Bean方式五、第四种方式:FactoryBean方式六、第五种方式:@Import方式七、第六种方式:@Import + ImportSelector方式八、第七种方式:@Import + ImportBeanDefinitionRegistrar方式九、第八种方式:BeanDefi原创 2022-03-01 17:16:22 · 7611 阅读 · 0 评论 -
Spring扩展之BeanPostProcessor接口
目录一、定义二、自定义BeanPostProcessor的实现类三、BeanPostProcessor的注册过程分析四、BeanPostProcessor的执行过程分析五、BeanPostProcessor的常用子类和实现类六、总结一、定义BeanPostProcessor是Spring IOC容器给我们提供的一个扩展接口,它可以在spring容器实例化bean之后,在执行bean的初始化方法前后,允许我们自定义修改新的bean实例,如修改bean的属性,可以给bean生原创 2022-01-05 11:20:13 · 3424 阅读 · 2 评论 -
Spring扩展之BeanFactoryPostProcessor接口
目录一、定义二、自定义BeanFactoryPostProcessor实现类三、BeanFactoryPostProcessor执行细节四、BeanFactoryPostProcessor常用子类一、定义官网对BeanFactoryPostProcessor的描述如下:Spring IoC容器允许我们自定义BeanFactoryPostProcessor在容器实例化任何bean之前读取bean的定义信息(配置元数据),并修改它,如我们可以把某个bean的scope从singlet原创 2021-12-31 23:00:00 · 895 阅读 · 0 评论 -
Spring IOC容器启动整体流程
目录一、简介二、IOC整体流程一、简介Spring核心有两个:IOC:控制反转 AOP:面向切面编程相信大家在项目中都使用过Spring进行开发,都知道Spring非常强大,那么在熟练掌握Spring进行开发后,我们有必要去了解一下其中的原理,Spring工作原理也是面试中必问的一个环节,先来看看几道常见的面试题,想想看,如果被面试官问到,你会怎么答?Spring IOC的工作原理? Spring Bean的生命周期是怎样的? Spring 中使用到了哪些设计模式? Spr原创 2021-11-23 20:44:05 · 2977 阅读 · 2 评论 -
Spring搭建本地源码调试环境
目录一、下载Spring源码二、安装gradle三、预编译spring-oxm模块四、IDEA导入Spring项目五、排除spring-aspects模块六、添加测试模块七、遇到的一些问题为了能够在调试Spring源码的时候,可以加上一些注释以及理解,方便后续继续复习,但是如果直接使用Class文件调试的话,是没法编辑的,只有在本地搭建Spring源码环境才行,所以本篇文章笔者将记录搭建Spring源码环境的步骤、遇到的问题及解决方案。一、下载Spring源码由于g.原创 2021-11-21 20:27:12 · 2674 阅读 · 0 评论 -
Spring BeanFactory和FactoryBean的区别
目录一、简介二、BeanFactory三、FactoryBean四、总结一、简介在Spring中,有这么2个接口:BeanFactory和FactoryBean,名字很相似,很多小伙伴经常混淆,在面试的时候也经常会被问BeanFactory和FactoryBean两者的区别。本篇文章将详细介绍它们的区别,并结合示例,帮助大家对BeanFactory和FactoryBean有一个很好的认识。二、BeanFactoryBeanFactory是Spring IoC 容器的顶层接口,原创 2021-11-19 20:55:29 · 424 阅读 · 0 评论 -
Spring依赖注入的三种方式
目录一、变量注入(Field Injection)二、构造器注入(Constructor Injection)三、setter方法注入 (Setter Injection)四、使用场景Spring的依赖注入,我们一般使用@Autowired注解来完成,关于依赖注入一般有三种方式:变量注入、构造器注入、setter方法注入,下面我们仔细分析一下三种注入方式各自的特点以及使用场景。一、变量注入(Field Injection)先看看怎么使用:@Servicepublic原创 2021-10-26 21:16:33 · 10103 阅读 · 1 评论 -
Spring中@Autowired和@Resource的区别
目录一、定义二、区别一、定义@Autowired对类成员变量、方法及构造函数进行标注,完成自动装配的工作。@Resource在语义上被定义为通过其唯一的名称来标识特定的目标组件,其中声明的类型与匹配过程无关。如果没有明确指定名称,则默认名称是从字段名称或设置方法(get、set方法)派生的。 如果用在字段上,则采用字段名称; 如果用在在setter方法,它采用其属性名称(例如setProperty()方法,取property做为属性名称)。二、区别在Spring框原创 2021-10-19 20:26:28 · 31824 阅读 · 7 评论 -
Spring事务失效场景
目录一、事务方法访问修饰符非public,导致事务失效二、@Transactional注解的方法抛出的异常不是Spring的事务支持的异常,导致事务失效三、数据表本身是不支持事务,导致事务失效四、@Transactional注解所在的类没有被Spring管理,导致事务失效五、catch掉异常之后,没有再次抛出异常,导致事务失效六、方法自身(this)调用问题,导致事务失效七、数据源没有配置事务管理器,导致事务失效八、传播类型不支持事务,导致事务失效九、多线程调用,导致原创 2021-10-16 21:31:25 · 1251 阅读 · 1 评论