Вы импортируете внешние свойства, используя @PropertySource
Учитывая, что расположение совместно используется как
-Dmysql.properties = file: /path-to-mysql.properties -Dvertica.properties = file:/path-to-vertica.properties
@Component
@PropertySource("${vertica.properties}")
public class VerticaProperties {
.....
}
@Component
@PropertySource("${mysql.properties}")
public class MySqlProperties {
....
}
или задано -Dmysql.properties = / path-to-mysql.properties -Dvertica.properties = / path-to-vertica.properties
@Component
@PropertySource("file:${vertica.properties}")
public class VerticaProperties {
.....
}
@Component
@PropertySource("file:${mysql.properties}")
public class MySqlProperties {
....
}
Кроме того, вы также можете использовать префикс с @ ConfigurationProperties вместе с @PropertySource.
Аннотация работает лучше всего, когда у нас есть иерархические свойства, которые имеют одинаковый префикс, поэтому мы также упоминаем префикс как часть аннотации.
Добавление префикса к ключам, таким как mysql.url,vertica.url в соответствующих файлах
@Component
@PropertySource("${vertica.properties}")
@ConfigurationProperties(prefix="vertica")
public class VerticaProperties {
.....
}
@Component
@PropertySource("${mysql.properties}")
@ConfigurationProperties(prefix="mysql")
public class MySqlProperties {
....
}