Compartilhamento de tecnologia

Explicação 7 do sistema de conclusão do Spring Boot Vue

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

 

Prática HIVE de data warehouse

  1. @ConfigurationProperties(prefix = "hive")
  2. @Data
  3. public class HiveDruidConfig {
  4. private String url;
  5. private String user;
  6. private String password;
  7. private String driverClassName;
  8. private int initialSize;
  9. private int minIdle;
  10. private int maxActive;
  11. private int maxWait;
  12. private int timeBetweenEvictionRunsMillis;
  13. private int minEvictableIdleTimeMillis;
  14. private String validationQuery;
  15. private boolean testWhileIdle;
  16. private boolean testOnBorrow;
  17. private boolean testOnReturn;
  18. private boolean poolPreparedStatements;
  19. private int maxPoolPreparedStatementPerConnectionSize;
  20. @Bean(name = "hiveDruidDataSource")
  21. @Qualifier("hiveDruidDataSource")
  22. public DataSource dataSource() {
  23. DruidDataSource datasource = new DruidDataSource();
  24. datasource.setUrl(url);
  25. datasource.setUsername(user);
  26. datasource.setPassword(password);
  27. datasource.setDriverClassName(driverClassName);
  28. // pool configuration
  29. datasource.setInitialSize(initialSize);
  30. datasource.setMinIdle(minIdle);
  31. datasource.setMaxActive(maxActive);
  32. datasource.setMaxWait(maxWait);
  33. datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
  34. datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
  35. datasource.setValidationQuery(validationQuery);
  36. datasource.setTestWhileIdle(testWhileIdle);
  37. datasource.setTestOnBorrow(testOnBorrow);
  38. datasource.setTestOnReturn(testOnReturn);
  39. datasource.setPoolPreparedStatements(poolPreparedStatements);
  40. datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
  41. return datasource;
  42. }
  43. @Bean(name = "hiveDruidTemplate")
  44. public JdbcTemplate hiveDruidTemplate(@Qualifier("hiveDruidDataSource") DataSource dataSource) {
  45. return new JdbcTemplate(dataSource);
  46. }

Este código é um exemplo de uso do pool de conexões Spring Boot e Druid para configurar uma conexão de banco de dados Hive.Mostra como passar@ConfigurationPropertiesAnotações para simplificar a vinculação de propriedades de configuração e como usar o Spring@BeanAnotações para criar e gerenciarDataSourceeJdbcTemplate Feijão. A seguir está uma explicação de ensino detalhada deste código:

1. @ConfigurationProperties(prefix = "hive")

  • efeito: Esta anotação é usada para adicionar arquivos de configuração (comoapplication.propertiesouapplication.yml) no prefixo éhiveAs propriedades de estão vinculadas à classe atual (HiveDruidConfig ) campo. Isso torna a configuração de conexões de banco de dados e outros parâmetros relacionados muito conveniente e centralizada.
  • exemplo: Se você estiverapplication.propertieshive.url=jdbc:hive2://...,EntãourlO campo receberá automaticamente um valor.

2. @Data

  • efeito : Esta anotação vem da biblioteca Lombok, que gera automaticamente os métodos getter, setter, equals, hashCode e toString para os campos da classe. Isso reduz o código clichê e torna as classes mais limpas.

3. Definição de campo

  • Vários campos privados são definidos na classe, que correspondem aos parâmetros de configuração da conexão do banco de dados Hive e do pool de conexões Druid.

4. dataSource()método

  • efeito: Este método usa@Bean Anotação, indicando que retornará um Bean, que será gerenciado pelo container Spring.Neste exemplo, ele cria e configura umDruidDataSourceExemplo, esta é a implementação do pool de conexões Druid.
  • Configuração: Várias propriedades de DruidDataSource são definidas por meio do método setter dentro do método. Essas propriedades vêm dos valores dos campos da classe e esses valores são passados.@ConfigurationPropertiesObtenha-o no arquivo de configuração.
  • valor de retorno:O método retorna o configuradoDruidDataSourceinstância, o contêiner Spring irá registrá-lo como uma instância chamadahiveDruidDataSourceFeijão.

5. hiveDruidTemplate()método

  • efeito: Este método também é usado@Beananotação, que cria umaJdbcTemplateInstância, esta instância é usada para simplificar as operações do banco de dados.
  • parâmetro: o método recebe umDataSourceparâmetros de tipo, passados@Qualifier("hiveDruidDataSource")A anotação é especificada usando o nomehiveDruidDataSourceFeijão DataSource.
  • valor de retorno:O método retorna o configuradoJdbcTemplateinstância, o contêiner Spring irá registrá-lo como uma instância chamadahiveDruidTemplateFeijão.

Resumir

Este código mostra como passar@ConfigurationPropertiese@Bean Anotações para configurar e gerenciar conexões de banco de dados. Ao usar o pool de conexões Druid, o desempenho e a estabilidade das operações de banco de dados podem ser melhorados ainda mais.Ao mesmo tempo, atravésJdbcTemplate, os desenvolvedores podem realizar operações de banco de dados de maneira mais conveniente, sem escrever uma grande quantidade de código JDBC.