zoukankan      html  css  js  c++  java
  • SpringBoot 之数据访问

    1. Spring Boot 与 JDBC

    • 默认使用 org.apache.tomcat.jdbc.pool.DataSource 数据源;
    // application.yml
    spring:
      datasource:
        username: root
        password: root
        url: jdbc:mysql:///jpa
        driver-class-name: com.mysql.jdbc.Driver
        type: com.alibaba.druid.pool.DruidDataSource    # 用于指定数据源
    
        # 数据源其他配置
        initialSize: 5
        minIdle: 5
        maxActive: 20
        maxWait: 60000
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 1 FROM DUAL
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        # 配置监控统计拦截的 filters, 'wall' 用于防火墙
        filters: stat,wall,log4j
        maxPoolPreparedStatementPerConnectionSize: 20
        useGlobalDataSourceStat: true
        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
    
    
    // 配置Druid的属性,DruidConfig.java
    @Configuration
    public class DruidConfig{
    
        @ConfigurationProperties(prefix="spring.datasource")
        @Bean
        public DataSource druid(){
            return new DruidDataSource();
        }
    
        // 配置Druid的监控
        // 1. 配置一个管理后台的Servlet
        @Bean
        public ServletRegistrationBean statViewServlet(){
            ServletRegistrationBean bean =
                new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
    
            Map<String, String> initParams = new HashMap<>();
            initParams.put("loginUsername", "admin"); // Druid 后台登录名
            initParams.put("loginPassword", "root");
            initParams.put("allow", "");        // 默认就是允许所有访问
            return bean;
        }
    
        // 2. 配置一个Web监控的filter
        @Bean
        public FilterRegistrationBean webStatFilter(){
            FilterRegistrationBean bean = new FilterRegistrationBean();
            bean.setFilter(new WebStatFilter());
    
            Map<String, String> initParams = new HashMap<>();
            initParams.put("exclusions", "*.js,*.css,/druid/*");    // 不拦截哪些请求
    
            bean.setInitParameters(initParams);
    
            bean.setUrlPatterns(Arrays.asList("/*"));  // 拦截所有请求
    
            return bean;
        }
    }
    

    参考资料:

  • 相关阅读:
    springboot2.0整合logback日志(详细)
    关于Logstash中grok插件的正则表达式例子
    feign多文件上传
    HBase API(新版本)
    HBase基础知识
    Hive数据操作和数据查询
    Hive数据定义
    Hive基础知识
    Hive安装
    Spark词频统计,求TOP值,文件排序,二次排序
  • 原文地址:https://www.cnblogs.com/linkworld/p/9164839.html
Copyright © 2011-2022 走看看