本章分析environment,主要是这个方法private void environmentsElement(XNode context) throws Exception。
environment可以有多个但是只会用一个其中的,主要是default指定例如下面这样
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!-- 配置数据库连接信息 -->
<dataSource type="POOLED">
<!-- value属性值引用db.properties配置文件中配置的值 -->
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${name}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
从这里可以看出不管是事务还是连接池都是通过反射class直接实例化,然后设置properties。
在bulider的时候直接new出来的