<!-- 引入参数配置文件-->
<context:property-placeholder location="db.properties"/>
<!-- 连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</bean>
------------中间省略-------------
<!-- 创建 DAO 实例-->
<bean id="scanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 获取 SqlSessionFactory 实例-->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<!-- 设置 getMapper 参数-->
<property name="basePackage" value="com.zzy.dao"/>
</bean>```
结果就是测试时程序无限运行,也不报错,不引入 properties 直接把参数写在 ApplicationContext.xml 里就可以正常运行。
在网上找解决方案:
1.使用 sqlSessionFactoryBeanName 注入 ,我就是这样做的但是没用
2.把 org.mybatis.spring.SqlSessionFactoryBean 的 id 直接设置为 sqlSessionFactory,然后在 org.mybatis.spring.mapper.MapperScannerConfigurer 中不做属性注入,我试过了还是不行。
mybatis-spring 版本:2.0.2
druid 版本:1.1.18
spring-jdbc 版本:5.2.8
mybatis 版本:3.4.6
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.