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

    参考资料:

  • 相关阅读:
    bzoj2588 Count on a tree
    poco对象生成的几种方式根据你使用不同的ui决定
    airtest本地连接和远程连接
    python音频文件中pcm格式提取
    python提取视频中的音频
    如何理解快速排序的时间复杂度是O(nlogn)
    剑指 Offer 45. 把数组排成最小的数
    剑指 Offer 44. 数字序列中某一位的数字
    剑指 Offer 43. 1~n 整数中 1 出现的次数
    剑指 Offer 41. 数据流中的中位数
  • 原文地址:https://www.cnblogs.com/linkworld/p/9164839.html
Copyright © 2011-2022 走看看