博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(16)Spring Boot使用Druid(编程注入)【从零开始学Spring Boot】
阅读量:7240 次
发布时间:2019-06-29

本文共 4107 字,大约阅读时间需要 13 分钟。

在上一节使用是配置文件的方式进行使用druid,这里在扩散下使用编程式进行使用Druid,在上一节我们新建了一个类:DruidConfiguration我在这个类进行编码:

 

package com.kfit.base.servlet;import java.sql.SQLException;import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.context.embedded.FilterRegistrationBean;import org.springframework.boot.context.embedded.ServletRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import com.alibaba.druid.pool.DruidDataSource;import com.alibaba.druid.support.http.StatViewServlet;import com.alibaba.druid.support.http.WebStatFilter; /** * druid 配置.  *  * 这样的方式不需要添加注解:@ServletComponentScan * @author Administrator * */@Configurationpublic class DruidConfiguration {              /**        * 注册一个StatViewServlet        * @return        */       @Bean       public ServletRegistrationBean DruidStatViewServle2(){              //org.springframework.boot.context.embedded.ServletRegistrationBean提供类的进行注册.              ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid2/*");                            //添加初始化参数:initParams                            //白名单:              servletRegistrationBean.addInitParameter("allow","127.0.0.1");              //IP黑名单 (存在共同时,deny优先于allow) : 如果满足deny的话提示:Sorry, you are not permitted to view this page.              servletRegistrationBean.addInitParameter("deny","192.168.1.73");              //登录查看信息的账号密码.              servletRegistrationBean.addInitParameter("loginUsername","admin2");              servletRegistrationBean.addInitParameter("loginPassword","123456");              //是否能够重置数据.              servletRegistrationBean.addInitParameter("resetEnable","false");              return servletRegistrationBean;       }              /**        * 注册一个:filterRegistrationBean        * @return        */       @Bean       public FilterRegistrationBean druidStatFilter2(){                            FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());                            //添加过滤规则.              filterRegistrationBean.addUrlPatterns("/*");                            //添加不需要忽略的格式信息.              filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid2/*");              return filterRegistrationBean;       }              /**        * 注册dataSouce,这里作为一个例子,只注入了部分参数信息,其它的参数自行扩散思维。        * @param driver        * @param url        * @param username        * @param password        * @param maxActive        * @return        */       @Bean    public DataSource druidDataSource(@Value("${spring.datasource.driverClassName}") String driver,                                      @Value("${spring.datasource.url}") String url,                                      @Value("${spring.datasource.username}") String username,                                      @Value("${spring.datasource.password}") String password,                                      @Value("${spring.datasource.maxActive}") int maxActive                                                              ) {        DruidDataSource druidDataSource = new DruidDataSource();        druidDataSource.setDriverClassName(driver);        druidDataSource.setUrl(url);        druidDataSource.setUsername(username);        druidDataSource.setPassword(password);        druidDataSource.setMaxActive(maxActive);                System.out.println("DruidConfiguration.druidDataSource(),url="+url+",username="+username+",password="+password);        try {            druidDataSource.setFilters("stat, wall");        } catch (SQLException e) {            e.printStackTrace();        }        return druidDataSource;    }       }

 

 

 

这里的区别在于加入一个方法:druidDataSource进行数据源的注入(当然这么一选择上一章节在application.properties配置的方式是比较好,如果有特殊需求的话,也可以在这里进行注入)

如果同时进行了编程式的注入和配置的注入,配置的就无效了。

-----------------------------------------------------------------

实际中推荐使用配置文件的方式,参考:

(15)Spring Boot使用Druid和监控配置【从零开始学Spring Boot】:

 Spring Boot 系列博客】

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

更多查看博客:

转载于:https://www.cnblogs.com/hehehaha/p/6147128.html

你可能感兴趣的文章
学习进度
查看>>
浅析JavaScript事件流——冒泡
查看>>
学习运维决心书
查看>>
计算中英文混合字符串的宽度
查看>>
MASM32_SDKv10以及一些帮大家打包的东西
查看>>
关于配置cordova的一些细节
查看>>
OpenJudge/Poj 2105 IP Address
查看>>
一分钟了解Allegro导入DXF文件
查看>>
Jenkisn call Psexec
查看>>
山东理工ACM【1532】矩阵输出
查看>>
IE9访问EBSR12排版格局错位(uttons and Text Misalignment in FWK pop-ups)
查看>>
JavaScript对象的浅拷贝与深拷贝
查看>>
SpringMVC学习笔记:表单提交 参数的接收
查看>>
idea全局设置
查看>>
Digital Color Meter 颜色值提取工具
查看>>
动态规划——Remove Boxes
查看>>
测试用例设计--因果图
查看>>
sublime sublimecodeintel配置 python
查看>>
数组中未出现的最小正整数
查看>>
114. Flatten Binary Tree to Linked List
查看>>