Partage de technologie

Explication du système de complétion Spring Boot Vue 7

2024-07-12

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

 

Pratique de l'entrepôt de données HIVE

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

Ce code est un exemple d'utilisation du pool de connexions Spring Boot et Druid pour configurer une connexion à la base de données Hive.Il montre comment réussir@ConfigurationPropertiesAnnotations pour simplifier la liaison des propriétés de configuration et comment utiliser Spring@BeanAnnotations à créer et à gérerDataSourceetJdbcTemplate Haricot. Ce qui suit est une explication pédagogique détaillée de ce code :

1. @ConfigurationProperties(prefix = "hive")

  • effet: Cette annotation est utilisée pour ajouter des fichiers de configuration (tels queapplication.propertiesouapplication.yml) dans le préfixe esthiveLes propriétés de sont liées à la classe actuelle (HiveDruidConfig ) champ. Cela rend la configuration des connexions à la base de données et d’autres paramètres associés très pratique et centralisée.
  • exemple: Si vous êtesapplication.propertiesIl y ahive.url=jdbc:hive2://...,DoncurlLe champ se verra automatiquement attribuer une valeur.

2. @Data

  • effet : Cette annotation provient de la bibliothèque Lombok, qui génère automatiquement les méthodes getter, setter, equals, hashCode et toString pour les champs de la classe. Cela réduit le code passe-partout et rend les classes plus propres.

3. Définition du champ

  • Plusieurs champs privés sont définis dans la classe, qui correspondent aux paramètres de configuration de la connexion à la base de données Hive et du pool de connexion Druid.

4. dataSource()méthode

  • effet: Cette méthode utilise@Bean Annotation, indiquant qu'il renverra un Bean, qui sera géré par le conteneur Spring.Dans cet exemple, il crée et configure unDruidDataSourceExemple, il s'agit de l'implémentation du pool de connexions Druid.
  • Configuration: Diverses propriétés de DruidDataSource sont définies via la méthode setter à l'intérieur de la méthode. Ces propriétés proviennent des valeurs des champs de classe, et ces valeurs sont transmises.@ConfigurationPropertiesRécupérez-le à partir du fichier de configuration.
  • valeur de retour:La méthode renvoie le configuréDruidDataSourceinstance, le conteneur Spring l'enregistrera en tant qu'instance nomméehiveDruidDataSourceHaricot.

5. hiveDruidTemplate()méthode

  • effet: Cette méthode est également utilisée@Beanannotation, qui crée unJdbcTemplateInstance, cette instance est utilisée pour simplifier les opérations de base de données.
  • paramètre: la méthode reçoit unDataSourceparamètres de type, transmis@Qualifier("hiveDruidDataSource")L'annotation est spécifiée à l'aide du nomhiveDruidDataSourceBean DataSource.
  • valeur de retour:La méthode renvoie le configuréJdbcTemplateinstance, le conteneur Spring l'enregistrera en tant qu'instance nomméehiveDruidTemplateHaricot.

Résumer

Ce code montre comment passer@ConfigurationPropertieset@Bean Annotations pour configurer et gérer les connexions à la base de données. En utilisant le pool de connexions Druid, les performances et la stabilité des opérations de base de données peuvent être encore améliorées.En même temps, à traversJdbcTemplate, les développeurs peuvent effectuer des opérations de base de données plus facilement sans écrire une grande quantité de code JDBC.