在上两篇文章(链接1和链接2)中,我们通过一个简易 demo 了解到了一个简单的日志记录类库所需要的功能,即一条日志有哪些数据,以及如何通过一次记录的方式将同一条日志消息记录到多个日志媒介中.在本文中,针对 Serilog,我们从以下几个方面来了解 Serilog 核心功能需求和用法,并为下一篇正式开始探究源码准备相关工作.(系列目录) Serilog 核心功能 目前,在 Asp.net core 中,对于日志记录库,除了微软官方准备的 Microsoft.Extensions.Logging…
背景 大家好,考虑到在最近这些天,闲来无事,找了个类库好好研究下别人写的高质量代码,颇有收获,打算和大家分享下.考虑到最近在自学 ASP.NET Core 的相关开发,对 Serilog 这个日志记录库使用较多,好奇其内部的实现原理,趁着这段咸鱼时间好好地研究了下 Serilog 的源码,顺带复习了一些常用的设计模式.目前计划写成一个系列介绍 Serilog 的实现,如有错误还请指正. 日志记录 在分析源码前,我们首先要知道 Serilog 是什么,它的功能是什么,能做什么事.俗话说知己知彼,百…
mybatis 3.x源码深度解析与最佳实践 1 环境准备 1.1 mybatis介绍以及框架源码的学习目标 1.2 本系列源码解析的方式 1.3 环境搭建 1.4 从Hello World开始 2 容器的加载与初始化 2.1 config文件解析XMLConfigBuilder.parseConfiguration 2.1.1 属性解析propertiesElement 2.1.2 加载settings节点settingsAsProperties 2.1.3 加载自定义VFS loadCust…
导读:Spring可以说是Java企业开发里最重要的技术.而Spring两大核心IOC(Inversion of Control控制反转)和AOP(Aspect Oriented Programming面向切面编程)其中又以IOC最为核心.IOC容器是Spring的核心模块,Spring提供了两种类型的容器,一个是BeanFactory,一个是ApplicationContext,而ApplicationContext是BeanFactory扩展来的. 本文就Spring框架的beans源码进行…
Spring框架之spring-web web源码完全解析 spring-web是Spring webMVC的基础,由http.remoting.web三部分组成,核心为web模块.http模块封装了http协议中的client/server端的request请求/response响应,编解码,一些格式的转换(如cbor.Rss.json.xml).remoting模块负责远程调用,包括caucho.httpinvoker.jaxws. spring-web的web模块封装了快速开发spring…
Spring框架之spring-webmvc源码完全解析 Spring框架提供了构建Web应用程序的全功能MVC模块.Spring MVC分离了控制器.模型对象.分派器以及处理程序对象的角色,支持多种视图技术,如JSP.Velocity.Tiles.iText和POI. Spring Web模型视图控制器(MVC)框架是基于Servlet功能实现的.通过实现Servlet接口的DispatcherServlet来封装其核心功能实现,通过将请求分派给处理程序,同时具有可配置的处理程序映射,视图解析…
Spring框架之jdbc源码完全解析 Spring JDBC抽象框架所带来的价值将在以下几个方面得以体现: 1.指定数据库连接参数 2.打开数据库连接 3.声明SQL语句 4.预编译并执行SQL语句 5.遍历查询结果(如果需要的话) 6.处理每一次遍历操作 7.处理抛出的任何异常 8.处理事务 9.关闭数据库连接 使用了Spring JDBC抽象框架之后,应用开发人员只需要做步骤3(声明SQL语句)和步骤6(处理每一次遍历操作)的编码工作.Spring将替我们完成所有单调乏味的JDBC底层细节…
Spring框架之事务源码完全解析   事务的定义及特性: 事务是并发控制的单元,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性.事务通常是以begin transaction开始,以commit或rollback结束.commint表示提交,即提交事务的所有操作.具体地说就是将事务中所有对数据的更新写回到磁盘上的物理数据库中去,事务正常结束.rollback表示回滚,即在事务运行的过程中发生了…
我的新浪微博:http://weibo.com/freshairbrucewoo. 欢迎大家相互交流,共同提高技术. 又很久没有写博客了,最近忙着研究GlusterFS,本来周末打算写几篇博客的,但是由于调试GlusterFS的一些新增功能就用了整整的一天,还有一天就陪老婆大人逛街去了!今晚浏览完微博发现时间还早就来博客一篇,本篇博客内容主要是前一段时间研究的Thrift的代码生成器的源码详细分析,没有具体分析语法解析,因为是工具字段生成的代码,人是没有办法阅读的----到处都是跳转表!由于Th…
淘宝数据库OceanBase SQL编译器部分 源码阅读--解析SQL语法树   曾经的学渣 2014-06-05 18:38:00 浏览1455 云数据库Oceanbase   OceanBase是阿里巴巴集团自主研发的可扩展的关系型数据库,实现了跨行跨表的事务,支持数千亿条记录.数百TB数据上的SQL操作.在阿里巴巴集团下,OceanBase数据库支持了多个重要业务的数据存储,包括收藏夹.直通车报表.天猫评价等.截止到2013年4月份,OceanBase线上业务的数据量已经超过一千亿条. 看…