spring property-placeholder MapperScannerConfigurer无法读取配置的解决
2017-03-14 17:36
357 查看
在spring里使用org.mybatis.spring.mapper.MapperScannerConfigurer 进行自动扫描的时候,设置了sqlSessionFactory 的话,可能会导致PropertyPlaceholderConfigurer失效,也就是用${jdbc.username}这样之类的表达式,将无法获取到properties文件里的内容。 导致这一原因是因为,MapperScannerConigurer实际是在解析加载bean定义阶段的,这个时候要是设置sqlSessionFactory的话,会导致提前初始化一些类,这个时候,PropertyPlaceholderConfigurer还没来得及替换定义中的变量,导致把表达式当作字符串复制了。
所以在配置
<bean id="sqlSessionFactoryxx" class="org.mybatis.spring.SqlSessionFactoryBean" name="">
时设置唯一的名称
在配置MapperScannerConfigurer时用,
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryxx"/>
来完成注入
PS:id不能为sqlSessionFactory,如果为这样的话会导致MapperScannerConigurer在bean定义加载时,加载PropertyPlaceholderConfigurer还没来得及替换定义中的变量,据说spring高版本已经解决这个问题了
所以在配置
<bean id="sqlSessionFactoryxx" class="org.mybatis.spring.SqlSessionFactoryBean" name="">
时设置唯一的名称
在配置MapperScannerConfigurer时用,
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryxx"/>
来完成注入
PS:id不能为sqlSessionFactory,如果为这样的话会导致MapperScannerConigurer在bean定义加载时,加载PropertyPlaceholderConfigurer还没来得及替换定义中的变量,据说spring高版本已经解决这个问题了
相关文章推荐
- 解决“Spring 使用MapperScannerConfigurer无法读取*.properties文件"的问题
- springmvc 整合mybatis dao层不写实现类,及MapperScannerConfigurer 引起的PropertyPlaceholderConfigurer无效问题解决方法
- spring 整合mybatis配置 MapperScannerConfigurer,无法读配置文件错误
- vb.net 无法读取app.config中的配置参数的解决方式
- 无法读取配置节 system.serviceModel 因为它缺少节声明的解决方法
- Asp.net 从Excel读取图片并保存,无法从内存读取图片,Excel组件和相关IIS的配置及解决办法
- MapperScannerConfigurer不 property-placeholder
- Spring中配置和读取多个Properties文件-- PropertyPlaceholderConfigurer
- 解决IIS7虚拟目录出现HTTP 错误 500.19(由于权限不足而无法读取配置文件)的问题
- IIS7无法读取配置文件解决办法
- MapperScannerConfigurer不 property-placeholder
- MyBatis MapperScannerConfigurer配置——MyBatis学习笔记之一
- MyBatis MapperScannerConfigurer配置
- MapperScannerConfigurer配置多数据源,填充数据源数据时报类型转换错误
- 解决Spring配置文件无法读取properties属性问题
- IIS7.5由于权限不足而无法读取配置文件的解决办法
- spring通过.PropertyPlaceholderConfigurer读取配置文件
- Win7 IIS7 配置错误由于权限不足而无法读取配置文件 解决办法
- 无法读取配置节 system.serviceModel 因为它缺少节声明的解决方法
- Mybatis使用时Propertyplaceholderconfigurer导出配置数据无法读入