我正在尝试构建应用程序级别的循环机制,以在Spring应用程序的数据源之间轮换。
对于单个数据源,我可以有一个Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource ...
效果很好。
是否可能有类似的东西
@ConfigurationProperties(prefix = "spring.datasource")
public List<DataSource> ...
文件中的配置属性在哪里应用于列表中的每个对象?我将其保留为一个列表,因为数据源的数量可能会随时间变化,并且可能来自配置,例如dynamo DB。 (当然,更改仅会在应用程序重新启动时反映出来,但避免了代码更改)
答案 0 :(得分:0)
我不确定该解决方案能否解决您的问题。
U可以如下定义java类:
@ConfigurationProperties(prefix = "spring")
public class DataSources {
private List<DataSource> datasource;
public static class DataSource {
private String name;
private String url;
}
}
这将映射以下配置
spring:
datasource[0]:
name: mysql
datasource[1]:
name: mongo
datasource[2]:
name: mssql