spring
文章平均质量分 80
liangdu_Zuker
这个作者很懒,什么都没留下…
展开
-
一图看懂Spring事务传播的本质
可能有点标题党,当可以作为一种思路。总所周知,Spring事务传播有7种方式,我们经常会苦于记忆和理解。这是因为我们不理解他的本质,如下图:同一个线程里关于事务的上下文会记录着当前线程拥有的MySQL Client socket,每一个Socket只存在一个当前事务(后面会提到为什么)事务的传播行为本质上是,当前service方法根据当先线程上下文是否存在事务,以此决定后续针对事务后续操作的行为。最常见的行为,就是根据当前线程事务上下文决定是否创建新事务(如果有则,不做任务操作,等于跟当前线程的父方原创 2022-08-06 13:56:21 · 268 阅读 · 0 评论 -
Spring事件通知总结
Spring事件通知总结参考:https://blog.csdn.net/likun557/article/details/106045522?utm_medium=distribute.pc_feed.none-task-blog-alirecmd-11.nonecase&depth_1-utm_source=distribute.pc_feed.none-task-blog-alirecmd-11.nonecase&request_id=可以介绍一下为什么需要使用事件么?答:系统解原创 2020-06-30 20:17:31 · 326 阅读 · 0 评论 -
编写自己的Spring-Boot的starter
编写自己的Spring-Boot的statrter部分内容引用来源声明: 飞污熊博客 https://www.xncoding.com/2017/07/22/spring/sb-starter.html【概念理解】starter是一种服务——使得使用某个功能的开发者不需要关注各种依赖库的处理,不需要具体的配置信息, 由Spring Boot自动通过classpath路径下...原创 2019-11-29 11:00:54 · 190 阅读 · 0 评论 -
利用反射和工厂模式实现控制反转
原创 2014-05-04 11:18:49 · 641 阅读 · 0 评论 -
Jersey(servlet)的线程安全
#Jersey的控制器是单例的,因此需要保证多个请求到来时出现多线程并发访问Controller.处理并发的方法: - 1.类的访问域的所有成员都采用不可变的(只读)。 - 2.对可变的成员加锁(保证被访问的成员线程安全)。 - 3.采用无状态。 对于控制层我们采用第二种方案。(第一种,我们很难保证服务层的成员只读,因为他是业务逻辑层第三种,也可行,只是说原创 2016-11-16 11:21:35 · 1757 阅读 · 0 评论 -
dubbo扩展spring scheme 暴露服务提供者的源码跟踪演绎
我在想他暴露肯定要依赖自己的封装··因为spring只负责创建(而且不是懒创建) 第一个猜想得到了验证既然他依赖于自己封装的类,那直接看他的导入·····(我发现他们的导入还是很规范的) 看到他封装的serviceBean··绝对可疑····然后就在DubboBeanDefinitionParser里面find一下发现这个引用只被调用了2处··力证我的猜想 然后接下来就越来越清晰了····很容原创 2016-11-23 14:52:00 · 703 阅读 · 0 评论 -
dubbo服务提供者的Maven构建流程
整个流程分为【打包流程】和【启动流程】【打包流程】:==========================================================================采用cd/d %~dp0mvnassembly:assembly进行编译打包。==============================原创 2016-11-23 15:00:52 · 1015 阅读 · 0 评论 -
dubbo的内核源码UML(容器启动以及Spring的shceme扩展)
1.通用参数交由System.getPropertys();管理2.利用class.forName()还有注解技术 ,模仿SPI,实现自己的ExtensionLoader,再利用反射获取扩展类的实体对象。3.如果是用spring容器的话,使用的spring标签扩展机制(OSGi),去启动RPC,个人认为先分析jetty机制。===整个项目主要是:1.原创 2016-11-23 15:08:45 · 701 阅读 · 0 评论