日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

16. Spring Boot使用Druid(编程注入)【从零开始学Spring Boot】

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。