我有一个基于完整代码配置的 Spring 应用程序。我正在尝试结合 Maven 配置文件来设置我的数据库连接。我为本地、实时和暂存问题定义了一些属性。现在我尝试控制 Maven 配置文件。每个配置文件都定义了我的 MySql 数据库连接参数。这是我当前的设置:
local.properties 文件:
mysql.username=test
mysql.password=test
mysql.databaseUrl=jdbc:mysql://localhost:3306/test
mysql.databaseDriver=com.mysql.jdbc.Driver
pom.xml
...
<profiles>
<profile>
<id>live</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<filterFile>src/main/config/live.properties</filterFile>
</properties>
</profile>
<profile>
<id>local</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<filterFile>src/main/config/local.properties</filterFile>
</properties>
</profile>
<profile>
<id>staging</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<filterFile>src/main/config/staging.properties</filterFile>
</properties>
</profile>
</profiles>
...
应用程序配置
...
@Value("${mysql.username}")
private String username;
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setUsername(username);
..
return dataSource;
}
...
这里的问题是我的属性没有加载!