Обмен технологиями

Объяснение системы завершения Spring Boot Vue 7

2024-07-12

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

 

Практика хранилища данных 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. }

Этот код является примером использования пула соединений Spring Boot и Druid для настройки подключения к базе данных Hive.Он показывает, как пройти@ConfigurationPropertiesАннотации для упрощения привязки свойств конфигурации и способы использования Spring@BeanАннотации для создания и управленияDataSourceиJdbcTemplate Бин. Ниже приводится подробное обучающее объяснение этого кода:

1. @ConfigurationProperties(prefix = "hive")

  • эффект: Эта аннотация используется для добавления файлов конфигурации (например,application.propertiesилиapplication.yml) в префиксеhiveСвойства привязаны к текущему классу (HiveDruidConfig ) поле. Это делает настройку подключений к базе данных и других связанных параметров очень удобной и централизованной.
  • пример: Если тыapplication.propertiesЕстьhive.url=jdbc:hive2://...,ТакurlПолю будет автоматически присвоено значение.

2. @Data

  • эффект : эта аннотация взята из библиотеки Lombok, которая автоматически генерирует методы получения, установки, равенства, hashCode и toString для полей класса. Это уменьшает количество шаблонного кода и делает классы чище.

3. Определение поля

  • В классе определено несколько частных полей, которые соответствуют параметрам конфигурации подключения к базе данных Hive и пулу подключений Druid.

4. dataSource()метод

  • эффект: Этот метод использует@Bean Аннотация, указывающая, что он вернет компонент, которым будет управлять контейнер Spring.В этом примере он создает и настраиваетDruidDataSourceПример: это реализация пула соединений Druid.
  • Конфигурация: Различные свойства DruidDataSource задаются через метод установки внутри метода. Эти свойства берутся из значений полей класса, и эти значения передаются через него.@ConfigurationPropertiesПолучите его из файла конфигурации.
  • возвращаемое значение:Метод возвращает настроенноеDruidDataSourceэкземпляр, контейнер Spring зарегистрирует его как экземпляр с именемhiveDruidDataSourceБин.

5. hiveDruidTemplate()метод

  • эффект: Этот метод также используется@Beanаннотация, которая создаетJdbcTemplateЭкземпляр, этот экземпляр используется для упрощения операций с базой данных.
  • параметр: метод получаетDataSourceвведите параметры, переданные@Qualifier("hiveDruidDataSource")Аннотация указывается с использованием имениhiveDruidDataSourceКомпонент источника данных.
  • возвращаемое значение:Метод возвращает настроенноеJdbcTemplateэкземпляр, контейнер Spring зарегистрирует его как экземпляр с именемhiveDruidTemplateБин.

Подведем итог

Этот код показывает, как передать@ConfigurationPropertiesи@Bean Аннотации для настройки подключений к базе данных и управления ими. Используя пул соединений Druid, можно еще больше повысить производительность и стабильность операций с базой данных.В то же время черезJdbcTemplate, разработчики могут выполнять операции с базой данных более удобно, не написав большого количества кода JDBC.