Condivisione della tecnologia

Spiegazione del sistema di completamento Spring Boot Vue 7

2024-07-12

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

 

Pratica HIVE del 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. }

Questo codice è un esempio dell'utilizzo del pool di connessioni Spring Boot e Druid per configurare una connessione al database Hive.Mostra come passare@ConfigurationPropertiesAnnotazioni per semplificare l'associazione delle proprietà di configurazione e come utilizzare Spring@BeanAnnotazioni da creare e gestireDataSourceEJdbcTemplate Fagiolo. Quella che segue è una spiegazione didattica dettagliata di questo codice:

1. @ConfigurationProperties(prefix = "hive")

  • effetto: questa annotazione viene utilizzata per aggiungere file di configurazione (comeapplication.propertiesOapplication.yml) nel prefisso èhiveLe proprietà di sono legate alla classe corrente (HiveDruidConfig ) campo. Ciò rende la configurazione delle connessioni al database e di altri parametri correlati molto comoda e centralizzata.
  • esempio: Se seiapplication.propertiesC'èhive.url=jdbc:hive2://...,COSÌurlAl campo verrà assegnato automaticamente un valore.

2. @Data

  • effetto : Questa annotazione proviene dalla libreria Lombok, che genera automaticamente metodi getter, setter, equals, hashCode e toString per i campi della classe. Ciò riduce il codice standard e rende le classi più pulite.

3. Definizione del campo

  • Nella classe sono definiti più campi privati, che corrispondono ai parametri di configurazione della connessione al database Hive e del pool di connessioni Druid.

4. dataSource()metodo

  • effetto: Questo metodo utilizza@Bean Annotazione, che indica che restituirà un Bean, che sarà gestito dal contenitore Spring.In questo esempio, crea e configura aDruidDataSourceAd esempio, questa è l'implementazione del pool di connessioni Druid.
  • Configurazione: Varie proprietà di DruidDataSource vengono impostate tramite il metodo setter all'interno del metodo. Queste proprietà provengono dai valori dei campi della classe e questi valori vengono passati@ConfigurationPropertiesOttienilo dal file di configurazione.
  • valore di ritorno:Il metodo restituisce il configuratoDruidDataSourceistanza, il contenitore Spring lo registrerà come istanza denominatahiveDruidDataSourceFagiolo.

5. hiveDruidTemplate()metodo

  • effetto: Viene utilizzato anche questo metodo@Beanannotazione, che crea un fileJdbcTemplateIstanza, questa istanza viene utilizzata per semplificare le operazioni del database.
  • parametro: il metodo riceve aDataSourceparametri di tipo, passati@Qualifier("hiveDruidDataSource")L'annotazione viene specificata utilizzando il nomehiveDruidDataSourceBean di origine dati.
  • valore di ritorno:Il metodo restituisce il configuratoJdbcTemplateistanza, il contenitore Spring lo registrerà come istanza denominatahiveDruidTemplateFagiolo.

Riassumere

Questo codice mostra come passare@ConfigurationPropertiesE@Bean Annotazioni per configurare e gestire le connessioni al database. Utilizzando il pool di connessioni Druid, le prestazioni e la stabilità delle operazioni del database possono essere ulteriormente migliorate.Allo stesso tempo, attraversoJdbcTemplate, gli sviluppatori possono eseguire operazioni sul database in modo più pratico senza scrivere una grande quantità di codice JDBC.