最近遇到个非常坑的东西,当从配置文件读取数据库连接${jdbc.driverClassName},就会报Could not load driverClass ${jdbc.driverClassName},但是直接写就可以,开始以为是jdbc包的问题,换了几个不同版本的包都不行,后来又以为引入数据库配置文件代码配置问题,折腾了挺久,一直没找到原因,还是度娘法力无边,原来配置MapperScannerConfigurer时采用的是:
这个会在数据源加载之前就执行,会把${jdbc.driverClassName}当成字符串,解决的方法: