![](https://img-blog.csdnimg.cn/direct/0b77422adc224e0cae7eed6361788720.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring框架
文章平均质量分 83
# Spring框架
早睡早起啦
感谢关注,csdn已经不上线了,不会在更新了。 csdn都是个人在大二到大四期间学习的笔记,有些内容可能并不是正确的,请理解下,技术文章在掘金(持续更新) https://juejin.cn/user/4248168663101239,如果想咨询up的话技术/生活/未来规划,wx: hakusai22.
展开
-
Spring源码——IOC容器创建
IOC容器创建一. Spring容器的refresh()【创建刷新】①. prepareRefresh()刷新前的预处理②. obtainFreshBeanFactory(),获取BeanFactory③. prepareBeanFactory(beanFactory),BeanFactory的预准备工作(BeanFactory进行一些设置)④. postProcessBeanFactory(beanFactory);BeanFactory准备工作完成后进行的后置处理工作⑤. invokeBeanFacto原创 2021-07-27 21:34:31 · 319 阅读 · 0 评论 -
Spring注解驱动开发——扩展原理
扩展原理一. BeanFactoryPostProcessor二. BeanDefinitionRegistryPostProcessor三. ApplicationListener用法和原理四. @EventListener与SmartInitializingSingleton一. BeanFactoryPostProcessorBeanPostProcessor:bean的后置处理器,bean创建对象初始化前后进行拦截工作的BeanFactoryPostProcessor:BeanFact原创 2021-07-27 21:16:05 · 305 阅读 · 0 评论 -
Spring注解驱动开发——声明式事务
声明式事务一. 声明式事务_环境搭建①. pom.xml依赖导入②. 配置数据源、JdbcTemplate操作数据③. 数据库中创建一张表④. 创建UserService类⑤. 创建UserDao⑥. 不加事务注解测试⑦. 加入@Transactional这个注解测试⑧. @EnableTransactionManagement 开启基于注解的事务管理功能⑨. 配置事务管理器来控制事务二. 声明式事务-源码分析①. @EnableTransactionManagement②. 导入两个组件AutoProxy原创 2021-07-27 20:52:08 · 364 阅读 · 0 评论 -
Spring注解驱动开发——AOP原理
AOP原理一. AOP功能测试①. pom.xml 依赖导入②. 目标类③. 切面类④. 配置类⑤. 测试类二. AOP原理-@EnableAspectJAutoProxy①. 给容器中导入AspectJAutoProxyRegistrar②. 利用AspectJAutoProxyRegistrar自定义给容器中注册bean;BeanDefinetion③. 给容器中注册一个AnnotationAwareAspectJAutoProxyCreator④. AnnotationAwareAspectJAuto原创 2021-07-26 23:24:18 · 969 阅读 · 25 评论 -
Spring注解驱动开发——属性赋值+自动装配
属性赋值一. 属性赋值-@Value赋值二. 属性赋值-@PropertySource加载外部配置文件三. 自动装配-@Autowired&@Qualifier&@Primary四. 自动装配-@Resource&@Inject五. 自动装配-方法、构造器位置的自动装配六. 自动装配-Aware注入Spring底层组件&原理七. 自动装配-@Profile环境搭建八. 自动装配-@Profile根据环境注册bean一. 属性赋值-@Value赋值二. 属性赋值-@Prop原创 2021-07-23 20:54:24 · 218 阅读 · 0 评论 -
Spring注解驱动开发——Bean的生命周期
Bean的生命周期一. 生命周期-@Bean指定初始化和销毁方法二. 生命周期-InitializingBean和DisposableBean三. 生命周期- @PostConstruct&@PreDestroy注解四. 生命周期-BeanPostProcessor原理五. 生命周期- BeanPostProcessor在Spring底层的使用一. 生命周期-@Bean指定初始化和销毁方法二. 生命周期-InitializingBean和DisposableBean三. 生命周期- @Post原创 2021-07-23 20:29:59 · 169 阅读 · 1 评论 -
Spring注解驱动开发——Bean的组件注册
组件注册一. 组件注册-XML文件配置的方式注册组件二. 组件注册-@Configuration&@Bean给容器中注册组件三. 组件注册-@ComponentScan-自动扫描组件&指定扫描规则四. 组件注册-自定义TypeFilter指定过滤规则.五. 组件注册-@Scope-设置组件作用域六. 组件注册-@Lazy-bean懒加载七. 组件注册-@Conditional-按照条件注册bean八. 组件注册-@Import-给容器中快速导入一个组件九. 组件注册-@Import-使用Im原创 2021-07-23 20:22:03 · 159 阅读 · 0 评论 -
Spring学习----Spring循环依赖_Debug讲解
Spring循环依赖一. 什么是循环依赖?二. Spring循环依赖纯Java代码验证案例①. 构造器方式注入依赖(不可行)②. 以set方式注入依赖(可行)三. Spring循环依赖bug演示①. beans:A,B②. beans.xml③. 运行类四. Spring内部通过三级缓存来解决循环依赖①. 使用singleton配置Bean②. 三级缓存介绍④. Spring循环依赖debug前置知识⑤. A / B两对象在三级缓存中的迁移说明五. Spring循环依赖debug源码①. DEBUG一步一步原创 2021-07-14 23:24:08 · 446 阅读 · 0 评论 -
Spring学习----Spring4.x和5.xAOP执行顺序
Spring4.x和5.xAOP执行顺序一. AOP常用注解二.Spring4的aop测试案例①. pom.xml②. 启动类③. 接口CalcService④. 接口实现类CalcServiceImpl新加@Service⑤. 切面类MyAspect并为切面类新增两个注解⑥. 测试类⑦. 修改测试类,让其抛出算术异常类⑧. 小结三. Spring5的aop测试案例①. 修改POM②. 修改测试类③. 修改测试类,让其抛出算术异常类④. 总结一. AOP常用注解@Before 前置通知:目标方法之原创 2021-07-14 21:44:22 · 331 阅读 · 1 评论 -
Spring基础----IOC和AOP
IOC和AOP一. 控制反转(Inversion of Control)二. AOP一. 控制反转(Inversion of Control)IoC(Inverse of Control:控制反转)是一种思想,而依赖注入(Dependency Injection)则是实现这种思想的方法,就是 将原本在程序中手动创建对象的控制权,交由Spring框架来管理。 IoC 容器是 Spring 用来实现 IoC 的载体, IoC 容器实际上就是个Map(key,value),Map 中存放的是各种对象。原创 2021-06-21 16:28:10 · 158 阅读 · 0 评论 -
Spring基础----Bean的生命周期
Bean的生命周期一. Bean的生命周期图二. Bean的生命周期分析三. Bean生命周期测试①. 实现BeanNameAware,BeanFactoryAware...等接口②. 实现BeanPostProcessor后置处理器③. 将自定义的Bean配置到IOC容器中④. 测试一. Bean的生命周期图二. Bean的生命周期分析Spring启动,查找并加载需要被Spring管理的bean,进行Bean的实例化Bean实例化后对Bean属性注入如果Bean实现了BeanNam原创 2021-06-21 14:13:16 · 127 阅读 · 0 评论 -
Spring基础----SpringBoot自动配置原理
SpringBoot自动配置原理1. @SpringBootApplication注解1. @SpringBootApplication注解原创 2021-03-04 22:47:34 · 129 阅读 · 1 评论 -
Spring基础----Springboot启动流程分析
Springboot启动流程分析一.SpringBoot项目启动目录二. @SpringBootApplication注解分析三. SpringApplication.run()方法源码深入解析一.SpringBoot项目启动目录package com.xizi;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;原创 2021-03-03 21:51:27 · 131 阅读 · 0 评论 -
Spring基础----一个接口有两个实现类,在Spring中怎么去调用到自己想调用的实现类?
一个接口有两个实现类,在Spring中怎么去调用到自己想调用的实现类?一. 接口二. 实现类1三. 实现类2四.注解注入进行测试一. 接口package com.xizi.service;public interface UserService { void test();}二. 实现类1package com.xizi.service;@Service("userService")public class UserServiceImpl implements UserS原创 2021-03-03 20:52:41 · 1153 阅读 · 1 评论 -
Spring基础----Spring的@Controller @Service是不是线程安全的分析
Spring的Controller_Dao_Service是不是线程安全的分析1.Spring中Bean作用域Scope类型1.Spring中Bean作用域Scope类型Scope解释singleton单例,默认作用域。prototype原型,每次创建一个新对象。request请求,每次Http请求创建一个新对象,适用于WebApplicationContext环境下。session会话,同一个会话共享一个实例,不同会话使用不用的实例。global-s原创 2021-03-02 19:36:56 · 276 阅读 · 0 评论