моя контактная информация
Почтамезофия@protonmail.com
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);
- }
Этот код является примером использования пула соединений Spring Boot и Druid для настройки подключения к базе данных Hive.Он показывает, как пройти@ConfigurationProperties
Аннотации для упрощения привязки свойств конфигурации и способы использования Spring@Bean
Аннотации для создания и управленияDataSource
иJdbcTemplate
Бин. Ниже приводится подробное обучающее объяснение этого кода:
@ConfigurationProperties(prefix = "hive")
application.properties
илиapplication.yml
) в префиксеhive
Свойства привязаны к текущему классу (HiveDruidConfig
) поле. Это делает настройку подключений к базе данных и других связанных параметров очень удобной и централизованной.application.properties
Естьhive.url=jdbc:hive2://...
,Такurl
Полю будет автоматически присвоено значение.@Data
dataSource()
метод@Bean
Аннотация, указывающая, что он вернет компонент, которым будет управлять контейнер Spring.В этом примере он создает и настраиваетDruidDataSource
Пример: это реализация пула соединений Druid.@ConfigurationProperties
Получите его из файла конфигурации.DruidDataSource
экземпляр, контейнер Spring зарегистрирует его как экземпляр с именемhiveDruidDataSource
Бин.hiveDruidTemplate()
метод@Bean
аннотация, которая создаетJdbcTemplate
Экземпляр, этот экземпляр используется для упрощения операций с базой данных.DataSource
введите параметры, переданные@Qualifier("hiveDruidDataSource")
Аннотация указывается с использованием имениhiveDruidDataSource
Компонент источника данных.JdbcTemplate
экземпляр, контейнер Spring зарегистрирует его как экземпляр с именемhiveDruidTemplate
Бин.Этот код показывает, как передать@ConfigurationProperties
и@Bean
Аннотации для настройки подключений к базе данных и управления ими. Используя пул соединений Druid, можно еще больше повысить производительность и стабильность операций с базой данных.В то же время черезJdbcTemplate
, разработчики могут выполнять операции с базой данных более удобно, не написав большого количества кода JDBC.