![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
spring 相关知识点汇总
yiyefuchen
这个作者很懒,什么都没留下…
展开
-
spring扩展点-FactoryBean
FactoryBean也是我们向spring容器注入Bean常用手段,这种方式有如下特点: a. 延迟加载,只有注入的Bean(T)被依赖时,才会调用getObject方法,首次使用才会调用,此后会从缓存中读取(FactoryBeanRegistrySupport.factoryBeanObjectCache缓存) b. 这种方式会创建两个对象,一个是FactoryBean类型...原创 2020-01-10 13:19:03 · 153 阅读 · 0 评论 -
spring扩展点-BeanPostProcessor
BeanPostProcessor也是常用的接口,它允许我们对Spring容器中的bean在初始化之后进行一些特殊处理,比如对指定bean进行动态代理。 1. 创建一个BeanPostProcessor接口实现类 @Configuration public class MyBeanPostProcessor implements BeanPostProcessor { @Override...原创 2020-01-07 11:06:19 · 136 阅读 · 0 评论 -
spring扩展点-InitializingBean
Spring的InitializingBean是我们常用的接口之一,它是在Bean初始化完调用的,利用这一点,我们可以在系统刚启动时做一些事情。 1. 定义一个InitializingBean接口实现类 /** * 自定义InitializingBean * 调用: Bean初始化完之后 AbstractAutowireCapableBeanFactory.invokeInitMetho...原创 2020-01-07 10:48:57 · 157 阅读 · 0 评论 -
spring扩展点-ImportBeanDefinitionRegistrar
向spring容器注入一个Bean,我们通常会用哪些方法呢?一种是通过xml配置文件方式,一种是通过注解方式(例如@Component系列、@Bean),今天我们来说一个spring提供的直接注入的方式-ImportBeanDefinitionRegistrar 1.首先要定义一个注解,内部通过@Import方式注入MyImportBeanDefinitionRegistrar类 @Rete...原创 2020-01-03 14:33:36 · 520 阅读 · 0 评论 -
spring-事务源码解析(三)
前面spring-事务源码解析(一)和spring-事务源码解析(二)两篇文章分别介绍了spring容器如何对bean进行事务代理和具体事务代理逻辑以及如何和我们自己使用的JDBC框架(以JdbcTemplate为例)一起集成的,今天来说一下spring事务的传播机制,这点无论是在面试中还是自己工作中都是很重要的部分。 1. spring事务提供的传播机制枚举 /** * 如果有事务,就加...原创 2019-12-23 14:34:16 · 94 阅读 · 0 评论 -
spring-事务源码解析(二)
我们在上一篇spring-事务源码解析(一)文章讲了spring如何对bean进行事务代理的检测和代理方式的选择,最终定位在了JdkDynamicAopProxy和ObjenesisCglibAopProxy两个代理类上,今天我们以JdkDynamicAopProxy为例,来看一下如何对bean进行事务代理和调用的。 /** * JdkDynamicAopProxy */ public O...原创 2019-12-18 11:35:44 · 158 阅读 · 0 评论 -
spring-事务源码解析(一)
今天我们来说一下spring的事务功能实现,测试环境如下: <!-- Spring Boot jdbc 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</a...原创 2019-12-16 17:22:59 · 125 阅读 · 0 评论 -
spring-boot bean初始化源码分析(二)
在上一篇spring-boot bean初始化源码分析(一)最后我们已经把被@Component注解的类和classpath下"META-INF/spring-autoconfigure-metadata.properties文件中的类添加到了beanFactory中(例如beanDefinitionMap、beanDefinitionNames),今天我们再来看一下是如果把上面放到beanFac...原创 2019-12-13 16:55:53 · 200 阅读 · 0 评论 -
spring-boot bean初始化源码分析(一)
测试环境: spring-boot-2.0.1.RELEASE spring 5.0.5.RELEASE /** * spring容器启动时,主要操作都在这个方法中实现 * AbstractApplicationContext */ public void refresh() throws BeansException, IllegalStateException { ....原创 2019-12-12 17:02:51 · 382 阅读 · 0 评论