最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot使用Druid數(shù)據(jù)源的配置方法

 更新時間:2018年04月27日 11:37:40   作者:crazy_bai  
這篇文章主要介紹了SpringBoot使用Druid數(shù)據(jù)源的配置方法,文中代碼實例相結(jié)合的形式給大家介紹的非常詳細,需要的朋友參考下吧

Druid是阿里巴巴開源平臺上一個數(shù)據(jù)庫連接池實現(xiàn),它結(jié)合了C3P0、DBCP、PROXOOL等DB池的優(yōu)點,同時加入了日志監(jiān)控,可以很好的監(jiān)控DB池連接和SQL的執(zhí)行情況,可以說是針對監(jiān)控而生的DB連接池(據(jù)說是目前最好的連接池)

一、依賴

為了測試,使用jdbcTemplate

<!-- jdbcTemplate -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- druid數(shù)據(jù)庫連接池 -->
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid</artifactId>
  <version>1.0.26</version>
</dependency>
<!-- mysql connector -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <scope>runtime</scope>
</dependency>

二、Druid配置

druid.properties
#數(shù)據(jù)庫設(shè)置
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/uu_core?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=true
spring.datasource.username=root
spring.datasource.password=root
#--------------------------
# 下面為連接池的補充設(shè)置,應(yīng)用到上面所有數(shù)據(jù)源中
# 初始化大小,最小,最大
spring.datasource.initialSize=5
spring.datasource.minIdle=1
spring.datasource.maxActive=50
# 配置獲取連接等待超時的時間
spring.datasource.maxWait=60000
# 配置間隔多久才進行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一個連接在池中最小生存的時間,單位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 打開PSCache,并且指定每個連接上PSCache的大小
spring.datasource.poolPreparedStatements=false
#spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# 配置監(jiān)控統(tǒng)計攔截的filters,去掉后監(jiān)控界面sql無法統(tǒng)計,'wall'用于防火墻
spring.datasource.filters=stat,wall,log4j
# 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# 合并多個DruidDataSource的監(jiān)控數(shù)據(jù)
#spring.datasource.useGlobalDataSourceStat=true

三、實例化Druid Datasource

package cn.aduu.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import javax.sql.DataSource;
/**
 * @author zh
 * @ClassName cn.aduu.config.DruidConfiguration
 * @Description
 */
@Configuration
@PropertySource(value = "classpath:druid.properties")
public class DruidConfiguration {
  @Bean(destroyMethod = "close", initMethod = "init")
  @ConfigurationProperties(prefix = "spring.datasource")
  public DataSource druidDataSource() {
    DruidDataSource druidDataSource = new DruidDataSource();
    return druidDataSource;
  }
  /**
   * 注冊一個StatViewServlet
   * @return
   */
  @Bean
  public ServletRegistrationBean druidStatViewServlet(){
    //org.springframework.boot.context.embedded.ServletRegistrationBean提供類的進行注冊.
    ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
    //添加初始化參數(shù):initParams
    //白名單:
    servletRegistrationBean.addInitParameter("allow","127.0.0.1");
    //IP黑名單 (存在共同時,deny優(yōu)先于allow) : 如果滿足deny的話提示:Sorry, you are not permitted to view this page.
    servletRegistrationBean.addInitParameter("deny","192.168.1.73");
    //登錄查看信息的賬號密碼.
    servletRegistrationBean.addInitParameter("loginUsername","admin");
    servletRegistrationBean.addInitParameter("loginPassword","123456");
    //是否能夠重置數(shù)據(jù).
    servletRegistrationBean.addInitParameter("resetEnable","false");
    return servletRegistrationBean;
  }
  /**
   * 注冊一個:filterRegistrationBean
   * @return
   */
  @Bean
  public FilterRegistrationBean druidStatFilter(){
    FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
    //添加過濾規(guī)則.
    filterRegistrationBean.addUrlPatterns("/*");
    //添加不需要忽略的格式信息.
    filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
    return filterRegistrationBean;
  }
}

四、監(jiān)控

訪問 http://localhost:8080/druid, 使用上面配置的賬號密碼。

這里寫圖片描述

這里寫圖片描述

五、測試

@RestController
public class HelloController{
  private static final Logger logger = LoggerFactory.getLogger(HelloController.class);
  @Autowired
  private JdbcTemplate jdbcTemplate;
  @RequestMapping("hello")
  public List<Map<String, Object>> hello() {
    List<Map<String, Object>> list = jdbcTemplate.queryForList("SELECT user,password FROM mysql.user ", new Object[]{});
    return list;
  }
}

訪問 localhost:8080/hello

[
  {
    "user": "root",
    "password": "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B"
  },
  {
    "user": "root",
    "password": "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B"
  }
]

總結(jié)

以上所述是小編給大家介紹的SpringBoot使用Druid數(shù)據(jù)源,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java編程在方法中哪些時候需要參數(shù)

    Java編程在方法中哪些時候需要參數(shù)

    這篇文章主要介紹了Java編程在方法中哪些時候需要參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • java對象轉(zhuǎn)成byte數(shù)組的3種方法

    java對象轉(zhuǎn)成byte數(shù)組的3種方法

    這篇文章主要為大家詳細介紹了java對象轉(zhuǎn)成byte數(shù)組的3種方法,具有一定的參考價值,感興趣的朋友可以參考一下
    2018-06-06
  • java基于包結(jié)構(gòu)的請求路由實現(xiàn)實例分享

    java基于包結(jié)構(gòu)的請求路由實現(xiàn)實例分享

    基于包結(jié)構(gòu)的請求路由簡單實現(xiàn)實例分享,大家參考使用吧
    2013-12-12
  • 在Spring MVC中處理請求參數(shù)的方法總結(jié)

    在Spring MVC中處理請求參數(shù)的方法總結(jié)

    在Spring MVC中處理請求參數(shù)是通過使用各種注解來實現(xiàn)的,本文給大家介紹了在Spring MVC中處理不同類型請求參數(shù)的方法,并通過代碼講解的非常詳細,需要的朋友可以參考下
    2024-08-08
  • java開發(fā)_圖片截取工具實現(xiàn)原理

    java開發(fā)_圖片截取工具實現(xiàn)原理

    本文將詳細介紹java開發(fā)_圖片截取工具實現(xiàn)原理,需要了解的朋友可以參考下
    2012-11-11
  • 深入了解volatile和Java內(nèi)存模型

    深入了解volatile和Java內(nèi)存模型

    在本篇文章當(dāng)中,主要給大家深入介紹Volatile關(guān)鍵字和Java內(nèi)存模型。在文章當(dāng)中首先先介紹volatile的作用和Java內(nèi)存模型,然后層層遞進介紹實現(xiàn)這些的具體原理、JVM底層是如何實現(xiàn)volatile的和JVM實現(xiàn)的匯編代碼以及CPU內(nèi)部結(jié)構(gòu),感興趣的可以了解一下
    2022-08-08
  • SpringBoot使用@Async注解實現(xiàn)異步調(diào)用

    SpringBoot使用@Async注解實現(xiàn)異步調(diào)用

    這篇文章主要介紹了SpringBoot使用@Async注解實現(xiàn)異步調(diào)用,異步調(diào)用是相對于同步調(diào)用而言的,同步調(diào)用是指程序按預(yù)定順序一步步執(zhí)行,每一步必須等到上一步執(zhí)行完后才能執(zhí)行,異步調(diào)用則無需等待,程序執(zhí)行完即可執(zhí)行,可以減少程序執(zhí)行時間,需要的朋友可以參考下
    2023-10-10
  • SpringBoot自定義start詳細圖文教程

    SpringBoot自定義start詳細圖文教程

    這篇文章主要給大家介紹了關(guān)于SpringBoot自定義start的相關(guān)資料,主要講述如何自定義start,實現(xiàn)一些自定義類的自動裝配,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • JAVA異常處理捕獲與拋出原理解析

    JAVA異常處理捕獲與拋出原理解析

    這篇文章主要介紹了JAVA異常處理捕獲與拋出原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Springcloud基于OpenFeign實現(xiàn)服務(wù)調(diào)用代碼實例

    Springcloud基于OpenFeign實現(xiàn)服務(wù)調(diào)用代碼實例

    這篇文章主要介紹了Springcloud基于OpenFeign實現(xiàn)服務(wù)調(diào)用代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08

最新評論

米脂县| 镇坪县| 枝江市| 曲阳县| 大洼县| 虞城县| 鹤壁市| 乐陵市| 乐安县| 兰考县| 长武县| 淮北市| 亚东县| 冀州市| 舒城县| 察雅县| 禄劝| 财经| 日喀则市| 汾西县| 桐乡市| 毕节市| 垫江县| 萨迦县| 连平县| 榕江县| 金乡县| 邻水| 海林市| 嘉荫县| 新竹县| 镇江市| 盐边县| 方正县| 綦江县| 额敏县| 龙岩市| 五华县| 洛隆县| 洛浦县| 吐鲁番市|