16. Spring Boot使用Druid(编程注入)【从零开始学Spring Boot】
轉載:http://blog.csdn.net/linxingliang/article/details/52001744
在上一節使用是配置文件的方式進行使用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;
importorg.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
?*
?*/
@Configuration
public class DruidConfiguration {
??????
?????? /**
?????? ?*?注冊一個StatViewServlet
?????? ?* @return
?????? ?*/
?????? @Bean
?????? publicServletRegistrationBean DruidStatViewServle2(){
????????????? //org.springframework.boot.context.embedded.ServletRegistrationBean提供類的進行注冊.
????????????? ServletRegistrationBeanservletRegistrationBean = new ServletRegistrationBean(newStatViewServlet(),"/druid2/*");
?????????????
????????????? //添加初始化參數:initParams
?????????????
????????????? //白名單:
????????????? servletRegistrationBean.addInitParameter("allow","127.0.0.1");
????????????? //IP黑名單 (存在共同時,deny優先于allow): 如果滿足deny的話提示:Sorry, you arenot permitted to view this page.
????????????? servletRegistrationBean.addInitParameter("deny","192.168.1.73");
????????????? //登錄查看信息的賬號密碼.
????????????? servletRegistrationBean.addInitParameter("loginUsername","admin2");
????????????? servletRegistrationBean.addInitParameter("loginPassword","123456");
????????????? //是否能夠重置數據.
????????????? servletRegistrationBean.addInitParameter("resetEnable","false");
????????????? returnservletRegistrationBean;
?????? }
??????
?????? /**
?????? ?*?注冊一個:filterRegistrationBean
?????? ?* @return
?????? ?*/
?????? @Bean
?????? publicFilterRegistrationBean druidStatFilter2(){
?????????????
????????????? FilterRegistrationBeanfilterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
?????????????
????????????? //添加過濾規則.
????????????? filterRegistrationBean.addUrlPatterns("/*");
?????????????
????????????? //添加不需要忽略的格式信息.
????????????? filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid2/*");
????????????? returnfilterRegistrationBean;
?????? }
??????
?????? /**
?????? ?*?注冊dataSouce,這里只是一個簡單的例子,只注入了部分參數,其它自行注入。
?????? ?* @param driver
?????? ?* @param url
?????? ?* @param username
?????? ?* @param password
?????? ?* @param maxActive
?????? ?* @return
?????? ?*/
?????? @Bean
??? public DataSourcedruidDataSource(@Value("${spring.datasource.driverClassName}") Stringdriver,
?????????????????????????????????????@Value("${spring.datasource.url}") String url,
??????????????? ??????????????????????@Value("${spring.datasource.username}")String username,
?????????????????????????????????????@Value("${spring.datasource.password}") String password,
?????????????????????????????????????@Value("${spring.datasource.maxActive}") int maxActive
??? ??????????????????????????????????????????????????????? ??) {
??????? DruidDataSourcedruidDataSource = 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();
??????? }
??????? returndruidDataSource;
??? }
??????
}
?
這里的區別在于加入一個方法:druidDataSource進行數據源的注入(當然這么一比較當然選擇上一章節在application.properties配置的方式是比較好的,如果有特殊需求的話,也可以在這里進行注入)。
如果同時進行了編程式的注入和配置的注入,配置的就無效了。
轉載于:https://www.cnblogs.com/ceshi2016/p/6705179.html
總結
以上是生活随笔為你收集整理的16. Spring Boot使用Druid(编程注入)【从零开始学Spring Boot】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿丽塔战斗天使在什么影厅观看效果好
- 下一篇: nodejs文件上传报错总结