Technologieaustausch

Erklärung des Spring Boot Vue-Vervollständigungssystems 7

2024-07-12

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

 

Data Warehouse HIVE-Praxis

  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. }

Dieser Code ist ein Beispiel für die Verwendung des Spring Boot- und Druid-Verbindungspools zum Konfigurieren einer Hive-Datenbankverbindung.Es zeigt, wie man passt@ConfigurationPropertiesAnmerkungen zur Vereinfachung der Bindung von Konfigurationseigenschaften und zur Verwendung von Spring@BeanAnmerkungen zum Erstellen und VerwaltenDataSourceUndJdbcTemplate Bohne. Das Folgende ist eine detaillierte Lehrerklärung dieses Codes:

1. @ConfigurationProperties(prefix = "hive")

  • Wirkung: Diese Anmerkung wird zum Hinzufügen von Konfigurationsdateien (z. Bapplication.propertiesoderapplication.yml) im Präfix isthiveDie Eigenschaften von sind an die aktuelle Klasse gebunden (HiveDruidConfig ) Feld. Dies macht die Konfiguration von Datenbankverbindungen und anderen zugehörigen Parametern sehr bequem und zentralisiert.
  • Beispiel: Wenn du bistapplication.propertiesEs gibthive.url=jdbc:hive2://...,AlsourlDem Feld wird automatisch ein Wert zugewiesen.

2. @Data

  • Wirkung : Diese Annotation stammt aus der Lombok-Bibliothek, die automatisch Getter-, Setter-, Equals-, HashCode- und toString-Methoden für die Felder der Klasse generiert. Dies reduziert den Boilerplate-Code und macht die Klassen sauberer.

3. Felddefinition

  • In der Klasse sind mehrere private Felder definiert, die den Konfigurationsparametern der Hive-Datenbankverbindung und des Druid-Verbindungspools entsprechen.

4. dataSource()Methode

  • Wirkung: Diese Methode verwendet@Bean Anmerkung, die angibt, dass eine Bean zurückgegeben wird, die vom Spring-Container verwaltet wird.In diesem Beispiel wird ein erstellt und konfiguriertDruidDataSourceDies ist beispielsweise die Implementierung des Druid-Verbindungspools.
  • Aufbau: Verschiedene Eigenschaften von DruidDataSource werden über die Setter-Methode innerhalb der Methode festgelegt. Diese Eigenschaften stammen aus den Werten der Klassenfelder, und diese Werte werden weitergegeben@ConfigurationPropertiesHolen Sie es aus der Konfigurationsdatei.
  • Rückgabewert:Die Methode gibt die konfigurierte zurückDruidDataSourceInstanz wird sie vom Spring-Container als Instanz mit dem Namen registrierthiveDruidDataSourceBohne.

5. hiveDruidTemplate()Methode

  • Wirkung: Diese Methode wird auch verwendet@BeanAnmerkung, die eine erstelltJdbcTemplateInstanz: Diese Instanz wird zur Vereinfachung von Datenbankvorgängen verwendet.
  • Parameter: Methode empfängt aDataSourceTypparameter, übergeben@Qualifier("hiveDruidDataSource")Die Annotation wird über den Namen spezifizierthiveDruidDataSourceDataSource-Bean.
  • Rückgabewert:Die Methode gibt die konfigurierte zurückJdbcTemplateInstanz wird sie vom Spring-Container als Instanz mit dem Namen registrierthiveDruidTemplateBohne.

Zusammenfassen

Dieser Code zeigt, wie man besteht@ConfigurationPropertiesUnd@Bean Anmerkungen zum Konfigurieren und Verwalten von Datenbankverbindungen. Durch die Verwendung des Druid-Verbindungspools können die Leistung und Stabilität des Datenbankbetriebs weiter verbessert werden.Gleichzeitig durchJdbcTemplatekönnen Entwickler Datenbankoperationen bequemer durchführen, ohne große Mengen an JDBC-Code schreiben zu müssen.