书接上文
settings 配置设置到 Configuration 对象中的过程源码分析如下:SqlSessionFactoryBean → SqlSessionBuilder → XMLConfigBuilder → settingsElement
1 private void settingsElement(Properties props) throws Exception { 2 // 设置 autoMappingBehavior 属性,默认值为 PARTIAL 3 configuration.setAutoMappingBehavior(AutoMappingBehavior.valueOf(props.getProperty("autoMappingBehavior", "PARTIAL"))); 4 configuration.setAutoMappingUnknownColumnBehavior(AutoMappingUnknownColumnBehavior.valueOf(props.getProperty("autoMappingUnknownColumnBehavior", "NONE"))); 5 // 设置 cacheEnabled 属性,默认值为 true 6 configuration.setCacheEnabled(booleanValueOf(props.getProperty("cacheEnabled"), true)); 7 8 // 省略部分代码 9 10 // 解析默认的枚举处理器 11 Class<? extends TypeHandler> typeHandler = (Class<? extends TypeHandler>)resolveClass(props.getProperty("defaultEnumTypeHandler")); 12 // 设置默认枚举处理器 13 configuration.setDefaultEnumTypeHandler(typeHandler); 14 configuration.setCallSettersOnNulls(booleanValueOf(props.getProperty("callSettersOnNulls"), false)); 15 configuration.setUseActualParamName(booleanValueOf(props.getProperty("useActualParamName"), true)); 16 17 // 省略部分代码 18 }
Mybatis源码分析(第一章)------配置文件的解析(2)
原文:https://www.cnblogs.com/Emiyaa/p/11317628.html