![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring源码
文章平均质量分 86
山鸟与鱼!
既然选择了这条路,就尽力做到最好!
展开
-
SpringMVC的工作流程
SpringMVC的工作流程图SpringMVC的工作流程1. 用户通过客户端向服务器发送请求,请求会被 SpringMVC的前端控制器DispatcherServlet所拦截。2. DispatcherServlet拦截到请求后,会调用HandlerMapping处理器映射器。3. 处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器 (如果有则生成)一并返回给DispatcherServlet。4. DispatcherServlet会通过返回信息选择合适的HandlerAdapte原创 2024-01-06 16:17:21 · 597 阅读 · 0 评论 -
MyBatis的工作流程
mybatis工作原理1. 读取mybaits配置文件mybatis-config.xml。mybatis-config.xml是mybatis的全局配置文件,配置了mybatis的运行环境等信息,主要内容是获取数据库连接。2. 加载映射文件mapper.xml,该文件是sql的映射文件,配置了操作数据库的sql语句,需要在mybatis-config.xml中加载才能执行,可以加载多个配置文件,每个配置文件对应数据库中的一张表。3. 构建会话工厂,通过原创 2024-01-06 14:39:27 · 362 阅读 · 0 评论 -
spring之事务工作原理
一个Bean在执行Bean的创建生命周期时,会经过InfrastructureAdvisorAutoProxyCreator的初始化后的方法,会判断当前当前Bean对象是否和BeanFactoryTransactionAttributeSourceAdvisor匹配,匹配逻辑为判断该Bean的类上是否存在@Transactional注解,或者类中的某个方法上是否存在@Transactional注解,如果存在则表示该Bean需要进行动态代理产生一个代理对象作为Bean对象。如果不存在事务,则新建一个事务。原创 2024-01-05 17:45:19 · 782 阅读 · 0 评论 -
spring之AOP源码分析下
ProxyFactory选择cglib或jdk动态代理原理。DefaultAdvisorAutoProxyCreator的父类是AbstractAdvisorAutoProxyCreator。spring中aop原理流程。原创 2024-01-04 20:10:15 · 971 阅读 · 0 评论 -
spring之AOP源码分析上
此方式就是我们编写一个切面类,里边包含切面方法,像@Befoer、@After等,通过扫描Spring容器中的Advisor,为匹配的Bean创建代理对象,并将Advisor中定义的通知应用到代理对象上。@Bean@Bean上述方式为非注解方式,注解方式就是@Before、@After,如果是注解方式会通过@EnableAspectJAutoProxy注解去解析,后续会分析。原创 2024-01-04 19:18:53 · 1102 阅读 · 1 评论 -
spring之依赖注入
1.BeanDefinition后置处理阶段去找注入点postProcessMergedBeanDefinition()实例化阶段有一个BeanDefinition后置处理阶段,在对象实例化出来以后,真正给属性赋值之前,需要收集需要属性注入的注入点。寻找注入点的过程为以下步骤:1. 遍历当前类的所有的属性字段Field2. 查看字段上是否存在@Autowired、@Value、@Inject中的其中任意一个,存在则认为该字段 是一个注入点3. 如果字段是static的,则不进行注入。原创 2024-01-03 22:28:35 · 826 阅读 · 1 评论 -
spring之推断构造方法
如果在生成BeanDefiniton的时候已经设置好了构造方法,然后在这一步就回去自动构造对象会先判断有没有@Lookup注解,如果有就生成一个代理对象返回推断构造方法,主要流程为在Bean的生命周期中的实例化阶段,在该阶段会先判断“supplier创建对象”、“工厂方法创建对象”、“推断构造方法”一步一步判断能否生成对象。原创 2024-01-03 14:32:13 · 956 阅读 · 1 评论 -
spring之循环依赖底层源码分析
循环依赖底层源码分析,@Resouce / @AutoWired区别。原创 2024-01-02 16:33:45 · 1288 阅读 · 0 评论 -
spring之bean的生命周期
spring是负责管理bean的,那什么是bean,任何普通的java对象都可以是一个bean,一般常见的有被@Component、@Service、@Repository、@Configuration、@Bean、@Autowired注解修饰的都是被spring所管理。原创 2024-01-01 15:13:31 · 1422 阅读 · 0 评论