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

Spring Boot使用Druid連接池的示例代碼

 更新時間:2018年06月14日 09:15:31   作者:Real_man  
Druid是Java語言中最好的數據庫連接池。這篇文章主要介紹了Spring Boot使用Druid連接池的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Druid是Java語言中最好的數據庫連接池。Druid相比于其他的數據庫連接池,有兩大特性:

  1. 監(jiān)控數據庫,有利于分析線上數據庫問題
  2. 更容易擴展,同時也很高效。

今天演示一下Spring Boot集成Druid。

實戰(zhàn)

1、添加Maven依賴。

Spring Boot版本使用的是1.x的,2.x的版本druid starter還不支持。不過自定義也是沒問題的。

  <!--starter-web 方便我們查看效果-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <!--使用Mybatis也可以,druid提供的只是連接池-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
  </dependency>

  <dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>druid-spring-boot-starter</artifactId>
   <version>1.1.6</version>
  </dependency>


配置Druid

2、Druid應用的配置。

server:
 port: 9011
 
spring:
 datasource:
 type: com.alibaba.druid.pool.DruidDataSource
 driver-class-name: com.mysql.jdbc.Driver
 druid:
  initial-size: 5
  max-active: 10
  min-idle: 5
  max-wait: 60000
  pool-prepared-statements: true
  max-pool-prepared-statement-per-connection-size: 20
  validation-query: select 1
  validation-query-timeout: 60000
  test-on-borrow: false
  test-on-return: false
  test-while-idle: true
  time-between-eviction-runs-millis: 60000
  filter:
  stat:
   log-slow-sql: true
   db-type: mysql
   slow-sql-millis: 2000
  stat-view-servlet:
  login-username: druid
  login-password: druid
  allow: 127.0.0.1
  url-pattern: /druid/*
  username: root
  password: 123456
  url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8

通過JavaBean的配置更靈活一些,我們通過JavaBean來配置。

@Configuration
public class DruidConfig {

 @Bean
 public JdbcTemplate jdbcTemplate(){
  return new JdbcTemplate(druidDataSource());
 }

 // ConfigurationProperties可以直接把應用配置的spring.datasource.druid屬性開頭的值注入到DruidDataSource中
 @ConfigurationProperties(prefix = "spring.datasource.druid")
 @Bean(initMethod = "init",destroyMethod = "close")
 public DruidDataSource druidDataSource(){
  DruidDataSource druidDataSource = new DruidDataSource();
  
  // 添加druid的監(jiān)控過濾器,當前只演示監(jiān)控的功能,因此只有一個過濾器,可以實現多個過濾器
  LinkedList<Filter> filtersList = new LinkedList();
  filtersList.add(filter());
  druidDataSource.setProxyFilters(filtersList);
  
  return druidDataSource;
 }

 @Bean
 public Filter filter(){
  StatFilter statFilter = new StatFilter();
  // SQL執(zhí)行時間超過2s種的被判定為慢日志
  statFilter.setSlowSqlMillis(2000);
  //顯示慢日志
  statFilter.setLogSlowSql(true);
  //合并SQL,有時,一些相同的慢日志過多影響閱讀,開啟合并功能
  statFilter.setMergeSql(true);
  return statFilter;
 }

 // 監(jiān)控的面板
 @Bean
 public ServletRegistrationBean servletRegistrationBean(){
  // 注冊自己的Sevlet
  return new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
 }
}

3、新建SQL執(zhí)行測試

使用JDBCTeplate選取數據庫中的數據,我們只是演示Druid的監(jiān)控效果。

@RestController
@SpringBootApplication
public class DaoApplication {
 public static void main(String[] args) {
  SpringApplication.run(DaoApplication.class,args);
 }

 @Autowired
 JdbcTemplate jdbcTemplate;

 @RequestMapping("/test")
 public List test(){
  final List<Integer> idList = new LinkedList<Integer>();
  jdbcTemplate.query("select * from sh_test1", new RowCallbackHandler() {
   @Override
   public void processRow(ResultSet rs) throws SQLException {
     idList.add(rs.getInt(1));
   }
  });

  return idList;
 }
}

運行查看效果


5、演示完畢

到這一步,Druid已經可以在Spring Boot中使用了,Druid提供了很多監(jiān)控的選項,文章篇幅有限, 只介紹一下Druid集成Spring Boot的用法。

最后

這篇文章演示了一下Druid在SpringBoot中的使用。有關Druid的使用請看下面的參考。

參考

[Druid常見用法] (https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java中內部類的概念與分類詳解

    Java中內部類的概念與分類詳解

    一個類的定義放在另一個類的內部,這個類就叫做內部類,下面這篇文章主要給大家介紹了關于Java中內部類的概念與分類的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-09-09
  • Intellij IDEA如何設置代理

    Intellij IDEA如何設置代理

    這篇文章主要介紹了Intellij IDEA如何設置代理問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Java服務剛啟動時接口超時排查全過程

    Java服務剛啟動時接口超時排查全過程

    這篇文章主要為大家介紹了Java服務剛啟動時,一小波接口超時排查全過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • java抽象類和接口定義與用法詳解

    java抽象類和接口定義與用法詳解

    這篇文章主要介紹了java抽象類和接口定義與用法,結合實例形式詳細分析了java抽象類和接口的基本概念、原理、定義、使用方法及操作注意事項,需要的朋友可以參考下
    2020-02-02
  • gradle項目中資源文件的相對路徑打包技巧必看

    gradle項目中資源文件的相對路徑打包技巧必看

    這篇文章主要介紹了gradle項目中資源文件的相對路徑打包技巧必看篇,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • SpringCloud使用FFmpeg對視頻壓縮處理的代碼示例

    SpringCloud使用FFmpeg對視頻壓縮處理的代碼示例

    在現代的視頻處理系統(tǒng)中,壓縮視頻以減小存儲空間、加快傳輸速度是一項非常重要的任務,FFmpeg作為一個強大的開源工具,廣泛應用于音視頻的處理,包括視頻的壓縮和格式轉換等,本文將通過Java代碼示例,向您展示如何使用FFmpeg進行視頻壓縮,并介紹相關參數的設置
    2024-11-11
  • SpringSecurity+Redis認證過程小結

    SpringSecurity+Redis認證過程小結

    這篇文章主要介紹了SpringSecurity+Redis認證過程小結,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • 詳解SpringBoot如何優(yōu)雅的處理免登錄接口

    詳解SpringBoot如何優(yōu)雅的處理免登錄接口

    在項目開發(fā)過程中,會有很多API接口不需要登錄就能直接訪問,比如公開數據查詢之類的,常規(guī)處理方法基本是 使用攔截器或過濾器,攔截需要認證的請求路徑,本文介紹一個更優(yōu)雅的方法自定義注解的方式,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • Java死鎖產生原因及示例

    Java死鎖產生原因及示例

    本文主要介紹了Java死鎖產生原因及示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • kafka監(jiān)聽問題的解決和剖析

    kafka監(jiān)聽問題的解決和剖析

    這篇文章主要給大家介紹了關于kafka監(jiān)聽問題的解決和剖析的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12

最新評論

名山县| 商丘市| 阿克陶县| 林西县| 缙云县| 安康市| 桓台县| 大洼县| 冕宁县| 章丘市| 荔波县| 湖州市| 会理县| 班戈县| 乌兰浩特市| 攀枝花市| 乐昌市| 乌恰县| 二手房| 京山县| 个旧市| 寻甸| 吐鲁番市| 合肥市| 三穗县| 凯里市| 双桥区| 栖霞市| 蒲江县| 信阳市| 深州市| 德江县| 宁陵县| 永清县| 珠海市| 台安县| 南川市| 黄浦区| 黄大仙区| 彭泽县| 合山市|