![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
其实系一个须刨
这个作者很懒,什么都没留下…
展开
-
Spring 常⽤用的注⼊入⽅方式有哪些
1.构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖。2.Setter方法注入:Setter方法注入是容器通过调用无参构造器或无参static工厂方法实例化匕ean之后,调用该bean的Setter方法,即实现了基于Setter的依赖注入。3.基于注解的注入:最好的解决方案是用构造器参数实现强制依赖,Setter方法实现可选依赖。...原创 2021-06-29 22:36:55 · 423 阅读 · 0 评论 -
Mybatis缓存
Mybatis中有一级缓存和二级缓存,默认情况下一级缓存是开启的,而且是不能关闭的。一级缓存是指SqlSession级别的缓存,当在同一个SqlSession中进行相同的SQL语句查询时,第二次以后的查询不会从数据库查询,而是直接从缓存中获取,一级缓存最多缓存1024条SQL。二级缓存是指可以跨SqlSession的缓存。是mapper级别的缓存,对于mapper级别的缓存不同的sqlsession是可以共享的。Mybatis的一级缓存第一次发出一个查询sql,sql...原创 2021-06-29 21:56:49 · 91 阅读 · 0 评论 -
spring源码一 注册配置类
这里主要讲通过注解的方式去注册bean。从AnnotationConfigApplicationContext出发。看构造方法: public AnnotationConfigApplicationContext(Class<?>... componentClasses) { //调用无参构造函数,实现了GenericApplicationContext,会先调用GenericApplicationContext的构造函数 //父类的构造函数里面就是初始化Defau...原创 2021-06-28 20:45:52 · 167 阅读 · 1 评论 -
Spring 源码 Bean Definition 注册
Spring中调用一个BeanDefinitionReaderUtils.registerBeanDefinition(bdHolder, getReaderContext().getRegistry())方法把bean的definition描述注册。 public static void registerBeanDefinition( BeanDefinitionHolder definitionHolder, BeanDefinitionRegistry registry)...原创 2021-06-24 21:37:56 · 372 阅读 · 1 评论 -
Spring中@Component与@Bean的区别
Spring帮助我们管理Bean分为两个部分,一个是注册Bean,一个装配Bean。 完成这两个动作有三种方式,一种是使用自动配置的方式、一种是使用JavaConfig的方式,一种就是使用XML配置的方式。 @Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean。 @Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。通常方法体中包含了最终产生bean实例的逻辑。 @C...原创 2021-06-23 20:40:01 · 90 阅读 · 0 评论 -
手写一个spring模拟,实现扫描component、依赖注入、BeanPostProcessor、AOP流程
代码结构:原创 2021-06-20 19:52:25 · 202 阅读 · 1 评论