Berbagi teknologi

Penjelasan sistem penyelesaian Spring Boot Vue 7

2024-07-12

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

 

Praktik HIVE gudang data

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

Kode ini adalah contoh penggunaan kumpulan koneksi Spring Boot dan Druid untuk mengonfigurasi koneksi database Hive.Ini menunjukkan bagaimana cara mengopernya@ConfigurationPropertiesAnotasi untuk menyederhanakan pengikatan properti konfigurasi, dan cara menggunakan Spring@BeanAnotasi untuk dibuat dan dikelolaDataSourceDanJdbcTemplate Kacang. Berikut penjelasan rinci pengajaran kode ini:

1. @ConfigurationProperties(prefix = "hive")

  • memengaruhi: Anotasi ini digunakan untuk menambahkan file konfigurasi (sepertiapplication.propertiesatauapplication.yml) di awalan adalahhiveProperti terikat pada kelas saat ini (HiveDruidConfig ) bidang. Hal ini membuat konfigurasi koneksi database dan parameter terkait lainnya menjadi sangat mudah dan terpusat.
  • contoh: Jika Andaapplication.propertiesAdahive.url=jdbc:hive2://...,JadiurlBidang tersebut akan secara otomatis diberi nilai.

2. @Data

  • memengaruhi : Anotasi ini berasal dari perpustakaan Lombok, yang secara otomatis menghasilkan metode pengambil, penyetel, sama dengan, kode hash, dan toString untuk bidang kelas. Hal ini mengurangi kode boilerplate dan membuat kelas lebih bersih.

3. Definisi lapangan

  • Beberapa bidang pribadi ditentukan di kelas, yang sesuai dengan parameter konfigurasi koneksi database Hive dan kumpulan koneksi Druid.

4. dataSource()metode

  • memengaruhi: Metode ini menggunakan@Bean Anotasi, menunjukkan bahwa ia akan mengembalikan Bean, yang akan dikelola oleh container Spring.Dalam contoh ini, ia membuat dan mengkonfigurasi aDruidDataSourceContohnya, ini adalah implementasi kumpulan koneksi Druid.
  • Konfigurasi: Berbagai properti DruidDataSource diatur melalui metode penyetel di dalam metode. Properti ini berasal dari nilai bidang kelas, dan nilai-nilai ini diteruskan@ConfigurationPropertiesDapatkan dari file konfigurasi.
  • nilai kembalian:Metode mengembalikan konfigurasiDruidDataSourcemisalnya, wadah Spring akan mendaftarkannya sebagai sebuah instance bernamahiveDruidDataSourceKacang.

5. hiveDruidTemplate()metode

  • memengaruhi: Metode ini juga digunakan@Beananotasi, yang menciptakan aJdbcTemplateMisalnya, instance ini digunakan untuk menyederhanakan operasi database.
  • parameter: metode menerima aDataSourceketik parameter, lulus@Qualifier("hiveDruidDataSource")Anotasi ditentukan menggunakan namahiveDruidDataSourceKacang Sumber Data.
  • nilai kembalian:Metode mengembalikan konfigurasiJdbcTemplatemisalnya, wadah Spring akan mendaftarkannya sebagai sebuah instance bernamahiveDruidTemplateKacang.

Meringkaskan

Kode ini menunjukkan cara mengoper@ConfigurationPropertiesDan@Bean Anotasi untuk mengonfigurasi dan mengelola koneksi database. Dengan menggunakan kumpulan koneksi Druid, kinerja dan stabilitas operasi database dapat lebih ditingkatkan.Pada saat yang sama, melaluiJdbcTemplate, pengembang dapat melakukan operasi database dengan lebih nyaman tanpa menulis kode JDBC dalam jumlah besar.