- 博客(6)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Mybatis源码解析之标签的解析
阅读须知研究了半天markdown也没发现怎么为代码块中的重点代码做特殊标记,所以这里使用//单行注释做代码的简单注释,而/**/多行注释的代码会做深入分析,同时为了避免篇幅过长,删掉了Mybatis原来的注释和空行,建议配合Mybatis源代码进行阅读,本文对应的Mybatis源码的版本为3.4.4。正文Mybatis是我们日常开发过程中经常使用的ORM框架,读者可以首先参考Mybatis中文官方
2017-12-31 12:28:07 2511
原创 SpringAOP源码解析之代理创建篇
阅读须知研究了半天markdown也没发现怎么为代码块中的重点代码做特殊标记,所以这里使用//单行注释做代码的简单注释,而/**/多行注释的代码会做深入分析,同时为了避免篇幅过长,删掉了Spring原来的注释和空行,建议配合Spring源代码进行阅读,本文对应的Spring源码的版本为4.3.8。正文Spring AOP是我们日常开发中经常使用的工具,常被用来做统一的日志、异常处理、监控等功能,使用
2017-12-30 18:23:08 1732
原创 MySQL主从同步原理
前言关于mysql主从同步,相信大家都不陌生,随着系统应用访问量逐渐增大,单台数据库读写访问压力也随之增大,当读写访问达到一定瓶颈时,将数据库的读写效率骤然下降,甚至不可用;为了解决此类问题,通常会采用mysql集群,当主库宕机后,集群会自动将一个从库升级为主库,继续对外提供服务;那么主库和从库之间的数据是如何同步的呢?正文为了减轻主库的压力,应该在系统应用层面做读写分离,写操作走主库,读操作走从库
2017-12-30 16:58:15 4489 1
原创 SpringMVC源码解析之执行过程篇
阅读须知Spring源码版本:4.3.8文章中使用/**/注释的方法会做深入分析正文承接上文,我们知道HttpServlet提供一些处理请求的方法,如doGet、doPost、service等,在DispatcherServlet中的实现都调用了processRequest方法,我们来分析这个方法: FrameworkServlet:protected final vo...
2017-12-21 10:25:43 1593 2
原创 用 Observer 模式替换硬编码通知
最近在重构中用到了设计模式中的观察者模式,简单的跟大家分享一下观察者模式的原理和使用场景。在进入正题之前,先简单的介绍一下业务场景,交易系统中很重要的一个流程就是订单状态的流转,这次重构的就是订单完成的部分。 订单完成之后,要做很多的后续工作,比如通知用户、发起计费、扣点、通知相关系统等。重构之前的代码结构如下: class OrderMessageResolver implements M
2017-12-09 16:49:23 3323
原创 责任链模式实践
最近在开发过程中需要修改这样一段代码:InvoiceSubmitter invoiceSubmitter;if (isBizBook) { //图书业务 if (isVatInvoice) { //增值税专用发票 invoiceSubmitter = rjVatInvoiceSubmitter; } else { //增值税普通发票 invoiceS
2017-12-08 17:24:27 3700
tomcat启动时出现如下问题 求大神解答 急急急!
2015-03-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人