概述 上一篇文章,我们主要讲了datasource的相关内容,那么<environments>标签下的内容就看的差不多了,今天就来看一下在拿到transationManager和datasource之后,mybatis又做了什么事情呢? Environment类 我们先来看下解析<environments>标签的那段代码: private void environmentsElement(XNode context) throws Exception { if (context !…
概述 前面几篇文章主要看了mybatis配置文件configuation.xml中<setting>,<environments>标签的加载,接下来看一下mapper标签的解析,先来看下标签的配置: <mappers> <!-- 方式一,mapper类和xml文件可以不再同一个目录下 --> <!-- <mapper resource="mapper/newsMapper.xml" /> --> <!-- 方…
概述 上一篇我们主要分析了下<environments>标签下面,transactionManager的配置,上问最后还有个遗留问题:就是在设置事物管理器的时候有个autocommit的变量的初始值是在哪边处理的呢?今天我们就来解答一下. <environments>的dataSource分析 private void environmentsElement(XNode context) throws Exception { if (context != null) { if (e…
概述 上一篇我们讲了configuation.xml中几个标签的解析,例如<properties>,<typeAlises>,<settings>等,今天我们来介绍剩下的两个比较重要的标签之一,<environments>,这个标签主要用于我们访问数据库的配置进行设置. <environments>解析 我们先来看下configuation.xml中<environments>元素的配置: 1 <environments def…
概要 上一篇,我们主要搭建了一个简单的环境,这边我们主要来分析下mybatis是如何来加载它的配置文件Configuration.xml的. 分析 public class App { public static void main(String[] args) { try { InputStream inputStream = Resources.getResourceAsStream("configuration/Configuration.xml"); SqlSessionFac…
元素设置 继续MyBatis的Configuration加载源码分析: private void parseConfiguration(XNode root) { try { Properties settings = settingsAsPropertiess(root.evalNode("settings")); //issue #117 read properties first propertiesElement(root.evalNode("properties&q…
config.xml解析为org.w3c.dom.Document 本文首先来简单看一下MyBatis中将config.xml解析为org.w3c.dom.Document的流程,代码为上文的这部分: static { try { reader = Resources.getResourceAsReader("mybatis/config.xml"); ssf = new SqlSessionFactoryBuilder().build(reader); } catch (IOExce…
本文针对Webpack懒加载构建和加载的原理,对构建后的源码进行分析. 一.准备工作 首先,init之后创建一个简单的webpack基本的配置,在src目录下创建两个js文件(一个主入口文件和一个非主入口文件)和一个html文件,package.json,webpack.config.js公共部分代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>…
spring是一个很有名的java开源框架,作为一名javaer还是有必要了解spring的设计原理和机制,beans.core.context作为spring的三个核心组件.而三个组件中最重要的就是beans组件了. 从一个简单实例来查看spring加载配置文件中的bean. public class Student { private int stId; private String studentName; private String studentAge; public int get…
类加载器简介 Java虚拟机中的类加载器(ClassLoader)负责加载来自文件系统.网络或其他来源的类文件.Java虚拟机中的类加载器默认使用的是双亲委派模式,如图所示,其中有三种默认使用的类加载器,分别是Bootstrap ClassLoader.Extension ClassLoader和System ClassLoader(也被称为Application ClassLoader),每种类加载器都已经确定从哪个位置加载类文件. Bootstrap ClassLoader: 加载JDK自带…