Mybatis使用时Propertyplaceholderconfigurer导出配置数据无法读入

编程入门 行业动态 更新时间:2024-10-09 13:26:01

Mybatis使用时Propertyplaceholderconfigurer导出配置<a href=https://www.elefans.com/category/jswz/34/1771445.html style=数据无法读入"/>

Mybatis使用时Propertyplaceholderconfigurer导出配置数据无法读入

2019独角兽企业重金招聘Python工程师标准>>>

造成这种情况的原因是因为读取配置文件操作早于Propertyplaceholderconfigurer加载配置文件,导致读取配置文件时直接读取了硬编码的键名,而非键值

在使用mybatis的自动扫描注入时导致这种情况是因为使用了sqlSessionFactoryBean,例如:

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- mapper接口所在位置 --><property name="basePackage" value="com.yumei.batchpaymon.dal.daointerface" /><property name="sqlSessionFactoryBean" ref="sqlSessionFactory" />
</bean>

在这种情况下,spring会提前去装配sqlSessionFactory,从而导致数据库的配置文件在Propertyplaceholderconfigurer还没加载的时候就已经被读取了,所以会连接失败。

所以需要使用另外一种配置sqlSessionFactoryBean的方式。

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- mapper接口所在位置 --><property name="basePackage" value="com.yumei.batchpaymon.dal.daointerface" /><!-- 注意此处为sqlSessionFactoryBeanName而不是sqlSessionFactoryBean --><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>

但是有时候发现就算这样写还是会失效,原因是因为在applicationContext中配置了自动注入,所以就算没有配置sqlSessionFactoryBean,也没自动注入了,当然也就提前被装配了。

转载于:

更多推荐

Mybatis使用时Propertyplaceholderconfigurer导出配置数据无法读入

本文发布于:2024-02-24 21:12:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1696668.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据   Mybatis   Propertyplaceholderconfigurer

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!