spring
文章平均质量分 94
一code当先
择主之臣,得遇明主!
展开
-
spring循环依赖及解决方案
1.Spring中的缓存1.1.一级缓存作用:限制Bean在beanFactory中只有一份,即实现singleton scope;如图:说明:①.首次通过getBean()方法获取对象A的实例,缓存中还没有对象A的实例,接着就会创建对象的实例;②.将对象A的实例放入缓存中,等到下一次获取该对象实例的时候直接从缓存中获取;循环依赖:说明:①.首次通过getBean()方法获取对象A的实例,缓存中还没有对象A的实例,接着就会创建对象A的实例;②.执行对象A中的setB(原创 2021-10-09 15:30:42 · 1020 阅读 · 0 评论 -
spring中使用代理模式
1.代理模式1.1.简介1>.代理模式:客户端直接使用的都是代理对象,不知道真实的对象是谁,而代理对象可以在客户端和真实对象之间起到中介的作用;2>.代理对象完全了包含真实对象,客户端使用的都是代理对象的方法,和真实对象没有直接关系(有间接关系);3>.代理模式的职责:就是把不是真实对象该做的事情从真实对象中抽离,达到职责分离的设计思想;4>.代理的目的:为了给目标方法做功能增强;注意: 真实对象就是真正要处理/增强的对象(实现类/接口)!!2.静态代理模式2.原创 2020-11-08 21:25:53 · 925 阅读 · 0 评论 -
SpringBoot自定义Starter
1.什么是SpringBoot Starter?Starter可以理解为一个可拔插式的插件,提供一系列便利的依赖描述符,您可以获得所需的所有Spring和相关技术的一站式服务.应用程序只需要在maven中引入Starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配置.用一句话描述,starter就是SpringBoot的场景启动器;SpringBoot Starter官网地址2.SpringBoot的AutoConfiguration机制标记一个应用为Spring原创 2020-11-07 22:34:27 · 198 阅读 · 0 评论 -
spring中bean的加载(二)
Java实战之Spring Boot入门到精通 书接上文spring中bean的加载(一),咱们继续!7.创建bean1>.当经历过resolveBeforeInstantiation方法之后,程序有两个选择,如果创建了代理或者说重写了InstantiationAwareBeanPostProcessor的postProcessBeforeInstantiation方法并在方法...原创 2020-06-13 00:35:27 · 322 阅读 · 0 评论 -
spring中bean的加载(一)
Spring Boot 面试精讲 1.前言Spring中bean加载的功能实现远比bean的解析要复杂得多.对于加载bean的功能,在Spring中的调用方式为:MyTestBean bean=(MyTestBean) bf.getBean()"myTestBean")这句代码实现了什么样的功能呢?先快速体验一下Spring中代码是如何实现的(AbstractBeanFactor...原创 2020-06-13 00:23:18 · 833 阅读 · 0 评论 -
spring默认标签解析之bean标签解析与注册
1.默认标签的解析1>.默认标签的解析是在DefaultBeanDefinitionDocumentReader类的parseDefaultElement函数中进行的,函数的功能逻辑一目了然,分别对四种不同的标签(import,alias,bean和beans)做了不同的处理;private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) { //对import标签的处理 if原创 2020-06-11 03:14:49 · 417 阅读 · 0 评论 -
SpringBoot自动装配原理分析
1.原理初探1.1.依赖(pom.xml)1.1.1.spring-boot-dependencies①.核心依赖,它是spring-boot-starter-parent父项目的父项目!②.在该依赖中声明了后期可能要在springboot项目中使用的组件的版本号,所以后期引入这些组件依赖的时候就不需要再指定对应的版本号了!1.1.2.启动器Starter①.即SpringBoot的...原创 2020-03-04 19:02:37 · 280 阅读 · 0 评论 -
Spring事务
Spring事务1.定义事务是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有的操作都做,要么所有的操作都不做,这就是事务2.事务ACID四个特性2.1.Atomicity原子性事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做2.2.Consistency一致性在事务执行前数据库的数据处于正确的状态,而事务执行完成之后数据库的数据依然处于正确的状态....原创 2019-06-15 22:03:16 · 115 阅读 · 0 评论