关于spring通过外部引入文件配置数据源,jdbc数据库配置文件中关于username的问题

大多数数据库配置文件都会按这个格式编写:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=root

其中的jdbc.username为什么要标下划线呢?因为有时会有人将配置文件写成下面这个格式:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=root

导致查找的username不是数据库的用户名,而是电脑的主机名。在这里需要阅读spring框架获取环境变量的核心代码了,查看PropertySourcesPlaceholderConfigurer类的api ,在这里你会看到username获取到的是本地环境变量,而是否用本地文件配置覆盖环境变量是可以配置的,这个属性是 system-properties-mode="ENVIRONMENT"/>  ENVIRONMENT是默认值,将其配置为never,则只查询location指向的属性文件.

你可能感兴趣的:(jdbc,spring)