기술나눔

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

  • 효과 : 이 주석은 클래스 필드에 대한 getter, setter, equals, hashCode 및 toString 메소드를 자동으로 생성하는 Lombok 라이브러리에서 제공됩니다. 이렇게 하면 상용구 코드가 줄어들고 클래스가 더욱 깔끔해집니다.

3. 필드 정의

  • Hive 데이터베이스 연결 및 Druid 연결 풀의 구성 매개변수에 해당하는 여러 개인 필드가 클래스에 정의되어 있습니다.

4. dataSource()방법

  • 효과: 이 방법은@Bean Spring 컨테이너에 의해 관리될 Bean을 반환할 것임을 나타내는 주석입니다.이 예에서는DruidDataSource예를 들어, 이것은 Druid 연결 풀의 구현입니다.
  • 구성: DruidDataSource의 다양한 속성은 메소드 내부의 setter 메소드를 통해 설정되며, 이러한 속성은 클래스 필드의 값에서 나오며, 이 값은 이를 통해 전달됩니다.@ConfigurationProperties구성 파일에서 가져옵니다.
  • 반환 값:메소드가 구성된 것을 반환합니다.DruidDataSource인스턴스가 있으면 Spring 컨테이너는 이를 인스턴스로 등록합니다.hiveDruidDataSource콩.

5. hiveDruidTemplate()방법

  • 효과: 이 방법도 사용됩니다@Bean주석은JdbcTemplate인스턴스, 이 인스턴스는 데이터베이스 작업을 단순화하는 데 사용됩니다.
  • 매개변수: 메소드는DataSource유형 매개변수, 전달됨@Qualifier("hiveDruidDataSource")주석은 이름을 사용하여 지정됩니다.hiveDruidDataSource데이터소스 빈.
  • 반환 값:메소드가 구성된 것을 반환합니다.JdbcTemplate인스턴스가 있으면 Spring 컨테이너는 이를 인스턴스로 등록합니다.hiveDruidTemplate콩.

요약하다

이 코드는 전달 방법을 보여줍니다.@ConfigurationProperties그리고@Bean 데이터베이스 연결을 구성하고 관리하는 주석입니다. Druid 연결 풀을 사용하면 데이터베이스 운영의 성능과 안정성을 더욱 향상시킬 수 있습니다.동시에, 이를 통해JdbcTemplate을 통해 개발자는 대량의 JDBC 코드를 작성하지 않고도 보다 편리하게 데이터베이스 작업을 수행할 수 있습니다.