
Spring底层源码阅读
文章平均质量分 91
Spring 常用注解讲解,通过注解一并分析Spring源码
苹果香蕉西红柿
这个作者很懒,什么都没留下…
展开
-
再次解释Spring中一个bean的注入过程
先看一下项目启动时如何执行到refresh()这个方法的,在run方法中先创建ApplicationContext,创建完毕后会调用refreshContext(context),内部会调用refresh方法//刷新应用上下文对象,加载 bean 定义并实例化 bean,会继续向下调用refresh内部的refresh() //下方示例中就省略了直接到我们最终的refresh() this . refresh(context);try {} } }原创 2023-07-17 17:12:09 · 410 阅读 · 0 评论 -
MybatisPlus基础使用
目录一. MybatisPlus 基础介绍二. SpringBoot+MybatisPlus+Druid 基础项目集成操作数据示例1. 常见基础操作与配置解释2. QueryWapper 与 UpdateWapper3. 字段填充4. 删除与配置逻辑删除5. 配置乐观锁6. 分页查询示例7. MybatisPlus 主键生成解释一. MybatisPlus 基础介绍mybatisPlus官方介绍:MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改原创 2023-05-14 11:25:19 · 157 阅读 · 0 评论 -
MyBatis 搭建及源码分析
目录一. Mybatis 简单示例1. 搭建mybatis步骤总结2. 代码示例二. 源码分析1. SqlSessionFactoryBean 初始化 SqlSessionFactory解析对应数据库表的mapper.xml解析Mapper.xml中的每一条sql语句2. 获取SqlSession3. 执行sql的流程MapperProxy 代理类的 invoke() 方法封装sql方法的 Map...原创 2020-04-23 21:04:34 · 781 阅读 · 2 评论 -
SpringMVC 配置及原理分析
目录一. 搭建 SpringMVC传统方式配置类方式(注意servlet 3.0及以上版本)SpringMVC 接收请求执行流程1. 源码分析2. 步骤总结二. 异步请求三. 请求转发与重定向一. 搭建 SpringMVC1.使用 SpringMVC 需要引入依赖 <dependency> <groupId>org.springframewo...原创 2020-04-10 12:57:21 · 341 阅读 · 0 评论 -
Spring refresh() 方法详解(启动Spring,bean的创建过程)
Spring refresh方法详解一. refresh() 方法预览二. refresh() 方法中调用的每个方法1. this.prepareRefresh() 激活开启容器2. this.obtainFreshBeanFactory() 获取 bean 工厂3. this.prepareBeanFactory(beanFactory) 对获取到的 beanFactory 做预处理设置4. t...原创 2020-04-09 13:04:14 · 7727 阅读 · 2 评论 -
Spring 事件驱动模型开发
事件驱动模型开发一. 监听器与事件与发布事件概述二. 通过 Spring 提供的容器刷新事件查看原理发布事件的原理IOC 容器注册多播器IOC 容器注册监听器三. 自定义事件驱动模型开发@EventListener 设置监听方法注解四. 了解 SmartInitializingSingletonSmartInitializingSingleton 使用示例一. 监听器与事件与发布事件概述事件...原创 2020-04-08 21:47:45 · 451 阅读 · 0 评论 -
Spring 源码扩展 BeanFactoryPostProcessor 与 BeanDefinitionRegistryPostProcessor 后置处理器
目录一. BeanFactoryPostProcessor1. 解释与使用示例2. 运行原理二. BeanDefinitionRegistryPostProcessor1. 解释与使用示例2. 执行原理一. BeanFactoryPostProcessor1. 解释与使用示例BeanFactoryPostProcessor 是一个接口,该接口中有一个 postProcessBeanFacto...原创 2020-04-08 14:19:01 · 262 阅读 · 0 评论 -
Spring 事物与底层原理
事物 一. 事物的解释,及使用案例实现事物设置的步骤二. 根据 @EnableTransactionManagement 开启事物注解,了解事物的实现原理使用该注解注入向容器中注入组件一. 事物的解释,及使用案例解释: 假设同一方法中对数据库执行增删改操作,在操作数据库完毕的后续代码中发生了异常,在实际情况中按照业务逻辑由于抛出异常,此次操作是不应该对数据库有任何影响的,要对抛出异常前对数据库...原创 2020-04-08 03:04:09 · 784 阅读 · 1 评论 -
Spring AOP 的搭建与源码分析
AOP 面向切面编程一. AOP 概述AOP 的实现步骤示例一. AOP 概述什么是 AOP : 指定程序在运行期间动态的将某段代码功能切入到指定的位置运行,底层是通过动态代理来实现的AOP 优点 : 降低代码的耦合,提高代码复用性,提高系统的扩展性AOP 常见使用场景 : 例如日志记录, 性能统计, 权限控制, 事物处理等AOP 的实现步骤Spring 引入 AOP 需要的依赖设...原创 2020-04-06 17:57:27 · 876 阅读 · 0 评论 -
Spring 的属性赋值与装配
赋值一. 属性赋值@Value() 注解赋值@PropertySource 注解导入配置文件到项目中二. 自动装配@Autowired@Primary 设置装配优先级@Resource 与 @Inject 实现装配功能自动装配注解实现原理自定义组件实现 Spring 中底层提供的组件一. 属性赋值传统 xml 方式赋值,通过 property 标签, name为属性名, value为属性值...原创 2020-04-05 13:02:25 · 418 阅读 · 0 评论 -
Spring Bean 源码解析初始化与销毁通,与循环依赖问题
Bean 的生命周期一. 自定义 bean 的初始化与销毁逻辑@Bean 设置 bean 的初始化与销毁时需要执行的方法InitializingBean 与 DisposableBean 接口方式指定执行与销毁时需要执行的方法JSR250 注解指定初始化前与销毁前要执行的方法BeanPostProcessor , bean 的后置处理器二. 通过 bean 的后置处理器,了解 bean 的生命周期...原创 2020-08-25 19:11:38 · 1006 阅读 · 2 评论 -
Spring Bean 的注入方式
DI 注入方式一. 传统的注入方式通过bean标签方式注入通过包扫描的方式注入二. 注解方式配置注入@Configuration 与 @Bean 注解方式注入@ComponentScan 包扫描方式注入@Import 注入Spring 的 FactoryBean 方式注入三. 获取容器中的实例scopt 单例与多例取值,与创建实例的时间针对单例四. 根据条件向容器中注入实例五. 总结一. 传统的...原创 2020-04-04 13:49:16 · 2919 阅读 · 0 评论