Compartir tecnología

Explicación del sistema de finalización Spring Boot Vue 7

2024-07-12

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

 

Práctica HIVE del almacén de datos

  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 es un ejemplo del uso del grupo de conexiones Spring Boot y Druid para configurar una conexión de base de datos de Hive.Muestra como pasar@ConfigurationPropertiesAnotaciones para simplificar la vinculación de propiedades de configuración y cómo usar Spring@BeanAnotaciones para crear y gestionarDataSourceyJdbcTemplate Frijol. La siguiente es una explicación didáctica detallada de este código:

1. @ConfigurationProperties(prefix = "hive")

  • efecto: Esta anotación se utiliza para agregar archivos de configuración (comoapplication.propertiesoapplication.yml) en el prefijo eshiveLas propiedades de están vinculadas a la clase actual (HiveDruidConfig ) campo. Esto hace que la configuración de conexiones de bases de datos y otros parámetros relacionados sea muy conveniente y centralizada.
  • ejemplo: Si usted esapplication.propertiesHayhive.url=jdbc:hive2://...,EntoncesurlAl campo se le asignará automáticamente un valor.

2. @Data

  • efecto : Esta anotación proviene de la biblioteca Lombok, que genera automáticamente métodos getter, setter, equals, hashCode y toString para los campos de la clase. Esto reduce el código repetitivo y hace que las clases sean más limpias.

3. Definición de campo

  • Se definen varios campos privados en la clase, que corresponden a los parámetros de configuración de la conexión de la base de datos de Hive y el grupo de conexiones de Druid.

4. dataSource()método

  • efecto: Este método utiliza@Bean Anotación que indica que devolverá un Bean, que será administrado por el contenedor Spring.En este ejemplo, crea y configura unDruidDataSourceEjemplo, esta es la implementación del grupo de conexiones Druid.
  • Configuración: Varias propiedades de DruidDataSource se establecen a través del método setter dentro del método. Estas propiedades provienen de los valores de los campos de clase y estos valores se pasan.@ConfigurationPropertiesConsíguelo del archivo de configuración.
  • valor de retorno:El método devuelve el configuradoDruidDataSourceinstancia, el contenedor Spring la registrará como una instancia llamadahiveDruidDataSourceFrijol.

5. hiveDruidTemplate()método

  • efecto: Este método también se utiliza@Beananotación, que crea unaJdbcTemplateInstancia, esta instancia se utiliza para simplificar las operaciones de la base de datos.
  • parámetro: el método recibe unDataSourceparámetros de tipo, pasados@Qualifier("hiveDruidDataSource")La anotación se especifica usando el nombre.hiveDruidDataSourceFrijol de fuente de datos.
  • valor de retorno:El método devuelve el configuradoJdbcTemplateinstancia, el contenedor Spring la registrará como una instancia llamadahiveDruidTemplateFrijol.

Resumir

Este código muestra cómo pasar@ConfigurationPropertiesy@Bean Anotaciones para configurar y administrar conexiones de bases de datos. Al utilizar el grupo de conexiones Druid, se puede mejorar aún más el rendimiento y la estabilidad de las operaciones de la base de datos.Al mismo tiempo, a través deJdbcTemplate, los desarrolladores pueden realizar operaciones de bases de datos de manera más conveniente sin escribir una gran cantidad de código JDBC.