le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
- @ConfigurationProperties(prefix = "hive")
- @Data
- public class HiveDruidConfig {
-
- private String url;
- private String user;
- private String password;
- private String driverClassName;
- private int initialSize;
- private int minIdle;
- private int maxActive;
- private int maxWait;
- private int timeBetweenEvictionRunsMillis;
- private int minEvictableIdleTimeMillis;
- private String validationQuery;
- private boolean testWhileIdle;
- private boolean testOnBorrow;
- private boolean testOnReturn;
- private boolean poolPreparedStatements;
- private int maxPoolPreparedStatementPerConnectionSize;
-
- @Bean(name = "hiveDruidDataSource")
- @Qualifier("hiveDruidDataSource")
- public DataSource dataSource() {
- DruidDataSource datasource = new DruidDataSource();
- datasource.setUrl(url);
- datasource.setUsername(user);
- datasource.setPassword(password);
- datasource.setDriverClassName(driverClassName);
-
- // pool configuration
- datasource.setInitialSize(initialSize);
- datasource.setMinIdle(minIdle);
- datasource.setMaxActive(maxActive);
- datasource.setMaxWait(maxWait);
- datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
- datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
- datasource.setValidationQuery(validationQuery);
- datasource.setTestWhileIdle(testWhileIdle);
- datasource.setTestOnBorrow(testOnBorrow);
- datasource.setTestOnReturn(testOnReturn);
- datasource.setPoolPreparedStatements(poolPreparedStatements);
- datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
- return datasource;
- }
-
- @Bean(name = "hiveDruidTemplate")
- public JdbcTemplate hiveDruidTemplate(@Qualifier("hiveDruidDataSource") DataSource dataSource) {
- return new JdbcTemplate(dataSource);
- }
Questo codice è un esempio dell'utilizzo del pool di connessioni Spring Boot e Druid per configurare una connessione al database Hive.Mostra come passare@ConfigurationProperties
Annotazioni per semplificare l'associazione delle proprietà di configurazione e come utilizzare Spring@Bean
Annotazioni da creare e gestireDataSource
EJdbcTemplate
Fagiolo. Quella che segue è una spiegazione didattica dettagliata di questo codice:
@ConfigurationProperties(prefix = "hive")
application.properties
Oapplication.yml
) nel prefisso èhive
Le proprietà di sono legate alla classe corrente (HiveDruidConfig
) campo. Ciò rende la configurazione delle connessioni al database e di altri parametri correlati molto comoda e centralizzata.application.properties
C'èhive.url=jdbc:hive2://...
,COSÌurl
Al campo verrà assegnato automaticamente un valore.@Data
dataSource()
metodo@Bean
Annotazione, che indica che restituirà un Bean, che sarà gestito dal contenitore Spring.In questo esempio, crea e configura aDruidDataSource
Ad esempio, questa è l'implementazione del pool di connessioni Druid.@ConfigurationProperties
Ottienilo dal file di configurazione.DruidDataSource
istanza, il contenitore Spring lo registrerà come istanza denominatahiveDruidDataSource
Fagiolo.hiveDruidTemplate()
metodo@Bean
annotazione, che crea un fileJdbcTemplate
Istanza, questa istanza viene utilizzata per semplificare le operazioni del database.DataSource
parametri di tipo, passati@Qualifier("hiveDruidDataSource")
L'annotazione viene specificata utilizzando il nomehiveDruidDataSource
Bean di origine dati.JdbcTemplate
istanza, il contenitore Spring lo registrerà come istanza denominatahiveDruidTemplate
Fagiolo.Questo codice mostra come passare@ConfigurationProperties
E@Bean
Annotazioni per configurare e gestire le connessioni al database. Utilizzando il pool di connessioni Druid, le prestazioni e la stabilità delle operazioni del database possono essere ulteriormente migliorate.Allo stesso tempo, attraversoJdbcTemplate
, gli sviluppatori possono eseguire operazioni sul database in modo più pratico senza scrivere una grande quantità di codice JDBC.