大多数数据库配置文件都会按这个格式编写:
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获取到的是本地环境变量,而是否用本地文件配置覆盖环境变量是可以配置的,这个属性是 <context:property-placeholder location="classpath:jdbc.properties" system-properties-mode="ENVIRONMENT"/> ENVIRONMENT是默认值,将其配置为never,则只查询location指向的属性文件.