У меня есть простой файл конфигурации в Spring MVC (не Boot), который просто выглядит так:
@Configuration
class abstract BaseConfig {
@Bean(name = "DB")
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUsername("Admin");
...
}
}
Чтобы использовать этот файл конфигурации в разных проектах и повторно использовать код, я использую файлы свойств:
@Configuration
@PropertySource({ "classpath:my.properties" })
class abstract BaseConfig {
@Bean(name = "${name.db}")
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUsername(env.getProperty("jdbc.user"));
...
}
}
Теперь я хочу поддерживать несколько источников данных (любой компонент) в одном проекте. Моя идея состоит в том, чтобы использовать BaseConfig
для каждого источника данных, то есть каждый раз расширять конфигурацию. Есть ли причина использовать префиксы в Spring MVC, как это?
@Configuration
@PropertySource({ "classpath:my.properties" })
class abstract BaseConfig<prefix> {
@Bean(name = "prefix.${name.db}")
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUsername(env.getProperty("prefix.jdbc.user"));
...
}
}
Или есть лучшее решение для переключения правильных файлов?