zoukankan      html  css  js  c++  java
  • spring 整合mybatis找不到${jdbc.driverClass}

     
     

    1.检查是否设置了mapper扫描org.mybatis.spring.mapper.MapperScannerConfigurer类

      在spring里使用org.mybatis.spring.mapper.MapperScannerConfigurer 进行自动扫描的时候,设置了sqlSessionFactory 的话,可能会导致PropertyPlaceholderConfigurer失效,
    也就是用${jdbc.username}这样之类的表达式,将无法获取到properties文件里的内容。 导致这一原因是因为,MapperScannerConigurer实际是在解析加载bean定义阶段的,
    这个时候要是设置sqlSessionFactory的话,会导致提前初始化一些类,这个时候,PropertyPlaceholderConfigurer还没来得及替换定义中的变量,
    导致把表达式当作字符串复制了。 但如果不设置sqlSessionFactory 属性的话,就必须要保证sessionFactory在spring中名称一定要是sqlSessionFactory ,
    否则就无法自动注入。又或者直接定义 MapperFactoryBean ,再或者放弃自动代理接口方式。 

      若设置了此类,则不能再用${jdbc.driverClass}配合以下设置去配置dataSource了

      观察箭头指向的ref会把${jdbc.driverClass}解析为 字符串,而不是jdbc.properties中的键值

    2.更改方法

      (1).dataSource使用如下配置

        

      (2).配置mapper扫描做以下配置

        

  • 相关阅读:
    5. Redis持久化
    4.Redis客户端
    3.Redis高级功能
    2.Redis五种数据结构
    1.Redis简介
    32.Mysql Cluster
    suffix ACM-ICPC 2017 Asia Qingdao
    多层BFS
    我想和你们说说java和C++___C加加
    11073 最热门的K个搜索串
  • 原文地址:https://www.cnblogs.com/ssjifm/p/7652502.html
Copyright © 2011-2022 走看看