我有5个不同的数据库名称的微服务,所以除了每个属性是常见的所以 application.properties

spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.username=${local.db.username:}
spring.datasource.password=${local.db.password:}

我有类commondatasource.java,其中包括属性

@PropertySource({ "classpath:application-test.properties" })
@Component
public  class CommonDataSourceConfig {

    @Autowired
    private Environment env;

    @Primary
      @Bean
      public DataSource dataadmindataSource() 
      {
        final DataSource dataSource = new DataSource();
        dataSource.setDriverClassName(Preconditions.checkNotNull(env.getProperty("spring.datasource.driverClassName")));
        dataSource.setUrl(Preconditions.checkNotNull("spring.datasource.url"));
        dataSource.setUsername(Preconditions.checkNotNull(env.getProperty("spring.datasource.username")));
        dataSource.setPassword(Preconditions.checkNotNull(env.getProperty("spring.datasource.password")));
        }
        }

现在我想在每个微服务datasourceconfig.java中调用 commondatasource

@Configuration
@EnableJpaRepositories(basePackages = {
    "xxx.repositories" }, entityManagerFactoryRef = "xxEntityManager", 
    transactionManagerRef = "xxTransactionManager")
public class xxSourceConfig
{

  @Autowired
  private Environment env;

  @Autowired
  private CommonDataSourceConfig common;

  @Value("${xx.datasource.url}")
  private String url;

  /**
   * Configures the entity manager
   * 
   * @return
   */
  @Primary
  @Bean
  public LocalContainerEntityManagerFactoryBean dataAdminEntityManager()
  {
    LocalContainerEntityManagerFactoryBean entityManager = new LocalContainerEntityManagerFactoryBean();
    entityManager.setDataSource(common.dataadmindataSource());
    entityManager.setPackagesToScan(new String[] { "com.boeing.toolbox.dataadmin.domain" });
    HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
    entityManager.setJpaVendorAdapter(vendorAdapter);
    HashMap<String, Object> properties = new HashMap<String, Object>();
    properties.put("hibernate.hbm2ddl.auto", env.getProperty("spring.jpa.hibernate.ddl-auto"));
    properties.put("hibernate.dialect", env.getProperty("spring.jpa.database-platform"));
    entityManager.setJpaPropertyMap(properties);

    return entityManager;
  }
  }

但现在我想通过这个类实现https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration.java

我是这个概念的新手,请帮助我在这个项目中如何实现上面的类