關於Could not load driverClass ${jdbc.driverClassName}問題解決方案

在spring與mybatis3整合時一直遇到Could not load driverClass ${jdbc.driverClassName}報錯
如果將 ${jdbc.driverClassName} 改成具體的值就不會報錯!

解決方案一:

  <property name="sqlSessionFactoryref="sqlSessionFactory"/>

改成

  <property name="sqlSessionFactoryBeanNamevalue="sqlSessionFactory"/>


記住ref要改成value 

原因分析:是因爲配置了class="org.mybatis.spring.mapper.MapperScannerConfigurer",而這句代碼會在數據源加載前就執行了,之後就把表達式${jdbc.driverClassName}當成字符串執行了。

 

解決方案二:

  <!-- 配製會話工廠 -->
  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    //此處省略代碼。。。
  </bean>

將 id="sessionFactory" 改成 id="sqlSessionFactory"

然後將方案一中的 <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>註釋掉。

原因分析:當id="sqlSessionFactory"時程序會在Ioc容器中自動裝配。單詞不能寫錯!!

轉載:https://www.cnblogs.com/tmftmb/p/7173846.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章