spring系列
文章平均质量分 95
spring学习心得
唐芬奇
当工作成为一种乐趣,生活便是享受。
展开
-
Spring中对于@RequestBody的参数解析问题
文章目录问题起源问题延伸代码实现前置准备阶段选择解决方案如何自定义Resolver处理类型如何自定义HttpMessageConverter思考总结问题起源今天后端与前端同事在讨论对于只有一个参数的接口,能否不将参数当作url的一部分传递,而都通过参数进行传递。比如说:访问车辆详情页面只需要一个车辆id。第一种方式:通过访问路径传递就是:getDetail/{carId}这种方式。第二种方式:如果以get方式进行请求,那么就可以写成:getDetail?carId=xxxx;第三种方式:如果以原创 2022-03-14 18:51:45 · 3296 阅读 · 0 评论 -
SpringAop报错是否影响@Transactional回滚问题
文章目录问题起始aop中的执行顺序Spring如何实现Aop?如何通过一个@Transactional注解回滚?那么现在核心问题来,aop与transactional他们的拦截器,执行顺序又是什么呢?总结问题起始今天被人问了个问题,说SpringAop里面报错,@Transactional事务会进行回滚吗? 当时第一个反应是不会,想法是bean对象实际是获取的一个proxy,@Transactional不会比我们的aop更后面执行吧?但是也不能确定,所以就有了今天这篇文章。我们先来看看aop里面的各个原创 2021-11-05 19:29:16 · 2210 阅读 · 2 评论 -
【spring学习笔记 七】ConfigurationClassPostProcessor详解
文章目录概览ConfigurationClassPostProcessorpostProcessBeanDefinitionRegistry()parse()@Component@PropertySource@ ComponentScan,@ComponentScans@Import实现ImportSelector实现ImportBeanDefinitionRegistrar接口@Beanload...原创 2020-02-26 15:20:00 · 1862 阅读 · 0 评论 -
【spring学习笔记 七】循环依赖解决思路
文章目录问题解决方案非正常表现解决方案这章我们主要来聊聊在doCreateBean()方法中,`spring是如何解决循环依赖的,以及一些错误的使用方式。问题假设现在我们有两个类,分别是A类,B类,同时A类需要引用B类,B类需要引用A类,也就是套娃模式。@Componentpublic class A { @Autowired private B b;}@Component...原创 2020-01-23 18:30:09 · 649 阅读 · 0 评论 -
【spring学习笔记 六】doCreateBean()
文章目录创建包装类型的BeanBean的前置处理是否提前曝光填充属性(populateBean)第一步:判断该bean是否进行属性填充第二步:访问各个处理器获取PropertyValues(但有些处理器直接进行了填充)第三步:根据返回的PropertyValues进行填充初始化Bean特殊通知前置通知初始化通知后置通知曝光实例处理注册一些Bean销毁后需要处理的实例上一篇介绍了加载bean的一种...原创 2020-01-22 17:33:04 · 1791 阅读 · 0 评论 -
【spring学习笔记 五】finishBeanFactoryInitialization()
文章目录preInstantiateSingletons()初始化所有单例对象FactoryBean的实例化普通Bean的实例化 (doGetBean)createBean()唤醒SmartInitializingSingleton实例的方法总结前几篇我们聊完了Bean初始化的前置步骤,也就是后面各个节点的处理器已经准备完毕了,下面就等着人去触发它们了。这一篇我们就一起来看看,各个节点都分别在...原创 2020-01-21 23:23:36 · 409 阅读 · 0 评论 -
【spring学习笔记 四】registerBeanPostProcessors()
文章目录registerBeanPostProcessors()MergedBeanDefinitionPostProcessor总结上一篇我们聊完了注册与唤醒BeanFactoryPostProcessor,这篇我们就来聊聊BeanPostProcessor的注册 。registerBeanPostProcessors()第一步:添加BeanPostProcessorChecker创建B...原创 2020-01-21 21:45:52 · 414 阅读 · 0 评论 -
【spring学习笔记 三】invokeBeanFactoryPostProcessors()
文章目录invokeBeanFactoryPostProcessors()总结上篇交代了refresh()的整个流程,下面我们就来看看其中比较重要的流程invokeBeanFactoryPostProcessors()。这个方法主要是唤醒BeanFactoryPostProcessor和其子类BeanDefinitionRegistryPostProcessorinvokeBeanFacto...原创 2020-01-20 22:38:27 · 382 阅读 · 0 评论 -
【spring学习笔记 二】refreshContext源码分析
文章目录前言refreshContext()prepareBeanFactory()invokeBeanFactoryPostProcessors()registerBeanPostProcessor()registerListeners()finishBeanFactoryInitialization()总结前言上篇文章我们已经对spring启动的整体流程有了一个初步的认识,但是在即将达到高...原创 2020-01-19 22:09:56 · 167 阅读 · 0 评论 -
【spring学习笔记 一】spring启动流程概览
文章目录spring流程概览new SpringApplication()setInitializers() 和 setListeners()run()prepareEnvironment()createApplicationContext()prepareContext()refreshContext ()总结spring流程概览这篇文章主要聊聊spring启动流程经历了哪些步骤,以及它们做...原创 2020-01-19 21:01:36 · 353 阅读 · 0 评论