书接上文
1.4 设置 settings 配置到 Configuration 中
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 }