docs: @Bean
      public DataSource dataSource() throws SQLException {
          if (null != masterSlaveProperties.getMasterDataSourceName()) {
              return MasterSlaveDataSourceFactory.createDataSource(dataSourceMap, masterSlaveSwapper.swap(masterSlaveProperties), propMapProperties.getProps());
          }
          if (!encryptProperties.getEncryptors().isEmpty()) {
              return EncryptDataSourceFactory.createDataSource(dataSourceMap.values().iterator().next(), encryptSwapper.swap(encryptProperties));
          }
          return ShardingDataSourceFactory.createDataSource(dataSourceMap, shardingSwapper.swap(shardingProperties), propMapProperties.getProps());
      }