关于Spring读取配置文件${username}是操作系统当前用户名的现象

配置文件db.properties

url=jdbc:mysql://localhost:3306/dbtest
name=root
password=root
maxActive=20

读取配置文件

<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
<property name="maxActive" value="${maxActive}" />

会出现name的值为操作系统当前用户的名字的现象。
原因:spring默认会优先加载系统环境变量,此时获取到的username的值实际上指的是当前计算机的用户名。而不是properties配置文件中指定的username的值。
结论:应避免使用user.name和user.home作为properties等文件的值,以免引起冲突

posted @ 2021-12-22 18:02  gimmick  阅读(327)  评论(0)    收藏  举报