我有一个看起来像这样的课:
package com.mycom.mycust.mysql.dbconnection;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConfigurationProperties("mysql")
public class ConnectionProperties {
private String db1Url;
private String db2Url;
private String username;
private String password;
public String getDb1Url() {
return db1Url;
}
public void setDb1Url(String url) {
db1Url = url;
}
public String getDb2Url() {
return db2Url;
}
public void setDb2Url(String url) {
db2Url = url;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
它是从位于mycust / config / application.properties的文件中获取其配置的:
mysql.db1Url=jdbc:mysql://index.prod.cr:1234/db1
mysql.db2Url=jdbc:mysql://index.prod.cr:1234/db2
mysql.username=mycom
mysql.password=mypass
如您所见,该文件包含两个不同的URL :。此外,还有一个文件mycust / mysql-parent / object-mapper / src / main / resources / application.properties,该文件似乎具有为先前显示的配置文件的各个部分命名的功能:
# Connection settings for prod MySQL database
mysql.db1Url=jdbc:mysql://host:port/database
mysql.db2Url=jdbc:mysql://host:port/database
mysql.username=username
mysql.password=password
运行应用程序的jar时,我发现上面文件中的字符串"port"
被用作端口号,这显然是错误的。如果我将mycust / config / application.properties的所有凭据放入mycust / mysql-parent / object-mapper / src / main / resources / application.properties中,则会找到正确的凭据,但是我不认为这是怎么回事该程序旨在运行。以前,当我仅连接到一个数据库时,mycust / mysql-parent / object-mapper / src / main / resources / application.properties仅包含mycust / config / application.properties具有实际凭据的所有凭据的占位符名称。既然我有两个要连接的数据库,为什么此设置不起作用?