Teknologian jakaminen

Spring Boot Vue -täyttöjärjestelmän selitys 7

2024-07-12

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

 

Tietovaraston HIVE-käytäntö

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

Tämä koodi on esimerkki Spring Boot- ja Druid-yhteyspoolin käyttämisestä Hive-tietokantayhteyden määrittämiseen.Se näyttää kuinka kulkea@ConfigurationPropertiesMerkinnät konfigurointiominaisuuksien sitomisen yksinkertaistamiseksi ja Springin käyttämiseksi@BeanLuoda ja hallinnoida merkintöjäDataSourcejaJdbcTemplate Papu. Seuraavassa on tämän koodin yksityiskohtainen opetusselitys:

1. @ConfigurationProperties(prefix = "hive")

  • vaikutus: Tätä merkintää käytetään asetustiedostojen lisäämiseen (esimapplication.propertiestaiapplication.yml) etuliitteessä onhiveOminaisuudet ovat sidottu nykyiseen luokkaan (HiveDruidConfig ) kenttä. Tämä tekee tietokantayhteyksien ja muiden niihin liittyvien parametrien määrittämisestä erittäin kätevää ja keskitettyä.
  • esimerkki: Jos oletapplication.propertiesOnhive.url=jdbc:hive2://...,NiinurlKentälle määritetään automaattisesti arvo.

2. @Data

  • vaikutus : Tämä merkintä tulee Lombok-kirjastosta, joka luo automaattisesti getter-, setter-, equals-, hashCode- ja toString-metodeja luokan kentille. Tämä vähentää yleiskoodia ja tekee luokat puhtaampia.

3. Kentän määritelmä

  • Luokassa on määritelty useita yksityisiä kenttiä, jotka vastaavat Hive-tietokantayhteyden ja Druid-yhteyspoolin konfigurointiparametreja.

4. dataSource()menetelmä

  • vaikutus: Tämä menetelmä käyttää@Bean Huomautus, joka osoittaa, että se palauttaa papun, jota kevätsäiliö hallinnoi.Tässä esimerkissä se luo ja määrittää aDruidDataSourceEsimerkki, tämä on Druid-yhteyspoolin toteutus.
  • Kokoonpano: Erilaiset DruidDataSource-ominaisuudet asetetaan menetelmän sisällä olevalla setter-menetelmällä. Nämä ominaisuudet tulevat luokkakenttien arvoista, ja nämä arvot välitetään@ConfigurationPropertiesHanki se asetustiedostosta.
  • palautusarvo: Menetelmä palauttaa määritetynDruidDataSourceinstanssi, Spring-säilö rekisteröi sen instanssiksi nimeltähiveDruidDataSourcePapu.

5. hiveDruidTemplate()menetelmä

  • vaikutus: Tätä menetelmää käytetään myös@Beanhuomautus, joka luo aJdbcTemplateEsim, tätä ilmentymää käytetään yksinkertaistamaan tietokantatoimintoja.
  • parametri: menetelmä vastaanottaa aDataSourcetyyppiparametrit, hyväksytty@Qualifier("hiveDruidDataSource")Annotaatio määritetään nimellähiveDruidDataSourceDataSource Bean.
  • palautusarvo: Menetelmä palauttaa määritetynJdbcTemplateinstanssi, Spring-säilö rekisteröi sen instanssiksi nimeltähiveDruidTemplatePapu.

Tee yhteenveto

Tämä koodi näyttää kuinka ohitetaan@ConfigurationPropertiesja@Bean Merkinnät tietokantayhteyksien määrittämiseen ja hallintaan. Käyttämällä Druid-yhteyspoolia tietokantatoimintojen suorituskykyä ja vakautta voidaan edelleen parantaa.Samalla läpiJdbcTemplate, kehittäjät voivat suorittaa tietokantatoimintoja kätevämmin kirjoittamatta suurta määrää JDBC-koodia.