CHINA华军 2020-06-10
如题,在我们整合SSM项目时,为了配置更加灵活,尝尝把数据库的四大配置新建到外边properties,然后通过下面这个引入配置文件
<context:property-placeholder location="db.properties"/>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </bean>
之后再配置数据源的时候就可以用spEl表达式引入,很简单一个事儿,然后神奇的问题的出现了,我的demo在mac上可以运行,在windows上死活不行,而且一直报这个错误
为什么username=root,会被解析为我电脑账户的名字???,一开始我没有发现这个坑,直到我换了无数次mysql的驱动版本,最后发现只要properties中别用username配置root就可以了,为什么这个问题我迟迟没有发现,因为IDEA会将配置文件导入提示到代码中,像这样,所以我觉得这和在spring配置文件中直接写root是一个效果,坑了我一天