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

Spring Boot 整合 Druid 并開(kāi)啟監(jiān)控的操作方法

 更新時(shí)間:2025年01月24日 10:17:28   作者:binbinxyz  
本文介紹了如何在SpringBoot項(xiàng)目中引入和配置Druid數(shù)據(jù)庫(kù)連接池,并開(kāi)啟其監(jiān)控功能,通過(guò)添加依賴(lài)、配置數(shù)據(jù)源、開(kāi)啟監(jiān)控、自定義配置以及訪(fǎng)問(wèn)監(jiān)控頁(yè)面,開(kāi)發(fā)者可以有效提高數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)效率并監(jiān)控連接池狀態(tài),感興趣的朋友跟隨小編一起看看吧

1. 引言

隨著互聯(lián)網(wǎng)應(yīng)用的快速發(fā)展,對(duì)數(shù)據(jù)庫(kù)連接池的要求也越來(lái)越高。傳統(tǒng)的連接池可能無(wú)法滿(mǎn)足現(xiàn)代應(yīng)用對(duì)于高性能和高可用性的需求。而 Druid 憑借其優(yōu)秀的性能優(yōu)化、詳細(xì)的監(jiān)控?cái)?shù)據(jù)以及靈活的配置選項(xiàng),成為了許多開(kāi)發(fā)者的首選。接下來(lái),我們將一步步展示如何在 Spring Boot 中引入 Druid,并啟用它的監(jiān)控功能。

2. 添加依賴(lài)

首先,在你的 pom.xml 文件中添加 Druid 的 Maven 依賴(lài):

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

如果你使用的是 Gradle 構(gòu)建工具,則可以在 build.gradle 文件中添加如下內(nèi)容:

implementation 'com.alibaba:druid-spring-boot-3-starter:1.2.24'

3. 配置數(shù)據(jù)源

接下來(lái),在 application.properties 或 application.yml 文件中配置 Druid 數(shù)據(jù)源的相關(guān)參數(shù)。這里以 .properties 文件為例:

# Druid 數(shù)據(jù)源配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
# 監(jiān)控頁(yè)面設(shè)置
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.login-username=druid
spring.datasource.druid.stat-view-servlet.login-password=d1234

yaml示例:

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false
    username: root
    password: 1234
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      test-on-borrow: true
      validation-query: SELECT 1 FROM DUAL
      web-stat-filter:
        enabled: true
      stat-view-servlet:
        enabled: true
        login-username: druid
        login-password: d1234

上述配置項(xiàng)包括了連接池的基本參數(shù)(如初始大小、最小空閑連接數(shù)、最大活動(dòng)連接數(shù)等),同時(shí)也啟用了 Druid 的 Web 統(tǒng)計(jì)過(guò)濾器和統(tǒng)計(jì)視圖 Servlet,并設(shè)置了登錄用戶(hù)名和密碼用于訪(fǎng)問(wèn)監(jiān)控頁(yè)面。

4. 開(kāi)啟監(jiān)控功能

為了更好地管理和監(jiān)控 Druid 連接池的工作狀態(tài),我們需要開(kāi)啟 Druid 提供的監(jiān)控功能。這可以通過(guò)配置文件中的幾個(gè)關(guān)鍵屬性來(lái)實(shí)現(xiàn):

  • WebStatFilter:用于收集 Web 應(yīng)用程序的 SQL 慢查詢(xún)?nèi)罩尽?/li>
  • StatViewServlet:提供了一個(gè)可視化的監(jiān)控頁(yè)面,可以查看連接池的各項(xiàng)指標(biāo)。

確保在 application.properties 或 application.yml 中啟用了這兩個(gè)組件:

# 啟用 WebStatFilter 和 StatViewServlet
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.stat-view-servlet.enabled=true

此外,還可以進(jìn)一步自定義監(jiān)控頁(yè)面的安全策略,比如允許或限制特定 IP 地址訪(fǎng)問(wèn)、設(shè)置更多的登錄憑證等。

5. 自定義 Druid 配置(可選)

如果默認(rèn)配置不能滿(mǎn)足你的需求,你可以創(chuàng)建一個(gè)自定義的 Druid 配置類(lèi)來(lái)覆蓋默認(rèn)設(shè)置。例如:

@Configuration
public class DruidConfig {
    @ConfigurationProperties(prefix = "spring.datasource.druid")
    @Bean
    public DruidDataSource druidDataSource() {
        return new DruidDataSource();
    }
    // 如果需要,可以在這里添加更多配置,如過(guò)濾器、攔截器等
    @Bean
    public ServletRegistrationBean<StatViewServlet> statViewServlet() {
        ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
        Map<String, String> params = new HashMap<>();
        params.put("loginUsername", username);
        params.put("loginPassword", password);
        params.put("allow", "localhost");
        params.put("deny", "");
        bean.setInitParameters(params);
        return bean;
    }
    @Bean
    public FilterRegistrationBean<Filter> webStatFilter() {
        FilterRegistrationBean<Filter> bean = new FilterRegistrationBean<Filter>();
        bean.setFilter(new WebStatFilter());
        Map<String, String> params = new HashMap<>();
        params.put("exclusions", "*.js,*.css,/druid/*");
        bean.setUrlPatterns(Arrays.asList("/*"));
        bean.setInitParameters(params);
        return bean;
    }
}

6. 訪(fǎng)問(wèn)監(jiān)控頁(yè)面

完成上述配置后,啟動(dòng) Spring Boot 應(yīng)用程序,然后打開(kāi)瀏覽器并訪(fǎng)問(wèn)以下 URL 來(lái)查看 Druid 的監(jiān)控頁(yè)面:

http://localhost:8080/druid/

使用之前設(shè)置的用戶(hù)名和密碼登錄后,你將看到一個(gè)包含詳細(xì)連接池信息和 SQL 查詢(xún)統(tǒng)計(jì)的界面。通過(guò)這個(gè)頁(yè)面,你可以輕松地監(jiān)控?cái)?shù)據(jù)庫(kù)連接的狀態(tài)、分析 SQL 性能瓶頸等問(wèn)題。

7. 注意事項(xiàng)

  • 生產(chǎn)環(huán)境安全:在生產(chǎn)環(huán)境中部署時(shí),請(qǐng)務(wù)必加強(qiáng)對(duì)監(jiān)控頁(yè)面的訪(fǎng)問(wèn)控制,避免敏感信息泄露。
  • 性能影響:雖然 Druid 的監(jiān)控功能非常有用,但在高并發(fā)場(chǎng)景下可能會(huì)對(duì)系統(tǒng)性能產(chǎn)生一定影響。因此,在實(shí)際應(yīng)用中應(yīng)權(quán)衡利弊,合理配置監(jiān)控級(jí)別。
  • 更新維護(hù):定期檢查 Druid 版本更新,及時(shí)修復(fù)已知漏洞和問(wèn)題,保持系統(tǒng)的穩(wěn)定性和安全性。

8. 總結(jié)

通過(guò)以上步驟,我們成功地在 Spring Boot 應(yīng)用中集成了 Druid 數(shù)據(jù)庫(kù)連接池,并開(kāi)啟了其監(jiān)控功能。這不僅提高了數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的效率,還為開(kāi)發(fā)者提供了寶貴的調(diào)試和優(yōu)化工具。希望這篇文章能夠幫助你。

更多配置或使用請(qǐng)參考官方文檔:https://github.com/alibaba/druid

到此這篇關(guān)于Spring Boot 整合 Druid 并開(kāi)啟監(jiān)控的文章就介紹到這了,更多相關(guān)Spring Boot Druid 開(kāi)啟監(jiān)控內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

岢岚县| 安吉县| 元氏县| 江华| 阿克苏市| 东兴市| 白朗县| 华池县| 汝阳县| 上饶县| 麻江县| 宁南县| 密山市| 铁力市| 西宁市| 敦煌市| 淳安县| 罗江县| 札达县| 尤溪县| 静乐县| 九龙城区| 肥西县| 宁强县| 东城区| 塔城市| 临漳县| 铜鼓县| 墨江| 渝北区| 沂水县| 准格尔旗| 利川市| 舟曲县| 通许县| 汝州市| 鹿泉市| 巴林右旗| 黑山县| 德安县| 阳东县|