Используйте префиксы свойств в Spring MVC - PullRequest
0 голосов
/ 09 января 2019

У меня есть простой файл конфигурации в 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"));
    ...  
  }
}

Или есть лучшее решение для переключения правильных файлов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...