国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

帶你了解SpringBoot---開啟Durid 監(jiān)控

這篇具有很好參考價值的文章主要介紹了帶你了解SpringBoot---開啟Durid 監(jiān)控。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

數(shù)據(jù)庫操作–開啟Durid 監(jiān)控

整合Druid 到Spring-Boot

官方文檔

使用手冊: https://github.com/alibaba/druid

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

  • 中文手冊: https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
  • English手冊: https://github.com/alibaba/druid/wiki/FAQ
  • Druid Spring Boot Starter 手冊:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

基本介紹

  1. HiKariCP: 目前市面上非常優(yōu)秀的數(shù)據(jù)源, 是springboot2 默認數(shù)據(jù)源。

  2. Druid: 性能優(yōu)秀,Druid 提供性能卓越的連接池功能外【Java 基礎】,還集成了SQL 監(jiān)控,黑名單攔截等功能,強大的監(jiān)控特性,通過Druid 提供的監(jiān)控功能,可以清楚知道連接池和SQL 的工作情況,所以根據(jù)項目需要,我們也要掌握Druid 和SpringBoot 整合。

  3. 整合Druid 到Spring-Boot 方式
    ● 自定義方式
    ● 引入starter 方式

Durid 基本使用

需求: 將Spring-Boot 的數(shù)據(jù)源切換成Druid

代碼實現(xiàn)

1.修改pom.xml , 引入druid 依賴

<!-- 引入druid 依賴-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.17</version>
</dependency>

2.創(chuàng)建com/nlc/usersys/config/DruidDataSourceConfig.java 配置類

@Configuration
public class DruidDataSourceConfig {

    //編寫方法,注入DruidDataSource
    //說明:為什么我們注入自己的DataSource , 默認的HiKariDatasource失效?
    //1. 默認的數(shù)據(jù)源是如配置? @ConditionalOnMissingBean({ DataSource.class, XADataSource.class })
    // 解讀:通過@ConditionalOnMissingBean({ DataSource.class}) 判斷如果容器有DataSource Bean 就不注入默認的HiKariDatasource
    //2. debug源碼.
    @ConfigurationProperties("spring.datasource")
    @Bean
    public DataSource dataSource() throws SQLException {
        //1. 配置了 @ConfigurationProperties("spring.datasource")
        //   就可以讀取到application.yml的配置
        //2. 我們就不需要調用DruidDataSource 對象的setXxx, 會自動關聯(lián)

        DruidDataSource druidDataSource = new DruidDataSource();
//        druidDataSource.setUrl("jdbc:mysql://localhost:3306/furn_ssm?useSSL=true&useUnicode=true&characterEncoding=UTF-8");
//        druidDataSource.setUsername("root");
//        druidDataSource.setPassword("123456");
        return druidDataSource;
    }
}
  1. 完成測試,運行ApplicationTests.java , 觀察數(shù)據(jù)源的運行類型

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

Durid 監(jiān)控功能-SQL 監(jiān)控

需求:

配置Druid 的監(jiān)控功能,包括SQL 監(jiān)控、SQL 防火墻、Web 應用、Session 監(jiān)控等

SQL 監(jiān)控數(shù)據(jù)
  1. 修改com/nlc/usersys/config/DruidDataSourceConfig.java , 增加druid 監(jiān)控功能
    地址:https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatViewServlet%E9%85%8D%E7%BD%AE

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

@Configuration
public class DruidDataSourceConfig {

   
    //編寫方法,注入DruidDataSource
    //說明:為什么我們注入自己的DataSource , 默認的HiKariDatasource失效?
    //1. 默認的數(shù)據(jù)源是如配置? @ConditionalOnMissingBean({ DataSource.class, XADataSource.class })
    // 解讀:通過@ConditionalOnMissingBean({ DataSource.class}) 判斷如果容器有DataSource Bean 就不注入默認的HiKariDatasource
    //2. debug源碼.
    @ConfigurationProperties("spring.datasource")
    @Bean
    public DataSource dataSource() throws SQLException {
        //1. 配置了 @ConfigurationProperties("spring.datasource")
        //   就可以讀取到application.yml的配置
        //2. 我們就不需要調用DruidDataSource 對象的setXxx, 會自動關聯(lián)

        DruidDataSource druidDataSource = new DruidDataSource();
//        druidDataSource.setUrl("jdbc:mysql://localhost:3306/furn_ssm?useSSL=true&useUnicode=true&characterEncoding=UTF-8");
//        druidDataSource.setUsername("root");
//        druidDataSource.setPassword("123456");
        return druidDataSource;
    }

    //配置druid的監(jiān)控頁功能
    @Bean
    public ServletRegistrationBean statViewServlet() {
        //創(chuàng)建StatViewServlet
        StatViewServlet statViewServlet = new StatViewServlet();
        ServletRegistrationBean<StatViewServlet> registrationBean =
                new ServletRegistrationBean<>(statViewServlet, "/druid/*");
        //設置init-parameter, 設置用戶名和密碼
        registrationBean.addInitParameter("loginUsername", "hhh");
        registrationBean.addInitParameter("loginPassword", "666666");

        return registrationBean;

    }
}
  1. 完成測試: 訪問http://localhost:10000/druid/index.html 不會被攔截, 如果沒有問題,會看到這個頁面

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

  1. 修改com/nlc/usersys/config/DruidDataSourceConfig.java , 加入監(jiān)控功能

    參考: https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilter

    帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

 @ConfigurationProperties("spring.datasource")
    @Bean
    public DataSource dataSource() throws SQLException {
        //1. 配置了 @ConfigurationProperties("spring.datasource")
        //   就可以讀取到application.yml的配置
        //2. 我們就不需要調用DruidDataSource 對象的setXxx, 會自動關聯(lián)

        DruidDataSource druidDataSource = new DruidDataSource();
//        druidDataSource.setUrl("jdbc:mysql://localhost:3306/furn_ssm?useSSL=true&useUnicode=true&characterEncoding=UTF-8");
//        druidDataSource.setUsername("root");
//        druidDataSource.setPassword("123456");
         //加入監(jiān)控功能, 加入了sql防火墻監(jiān)控
        druidDataSource.setFilters("stat,wall");
        return druidDataSource;
    } 
  1. 創(chuàng)建com/nlc/usersys/controller/DruidSqlController.java ,模擬操作DB 的請求
@Controller
public class DruidSqlController {

    @Resource
    private JdbcTemplate jdbcTemplate;

    @ResponseBody
    @GetMapping("/sql")
    public List<Furn> crudDB() {

        BeanPropertyRowMapper<Furn> rowMapper = new BeanPropertyRowMapper<>(Furn.class);
        List<Furn> furns = jdbcTemplate.query("select * from `furn`", rowMapper);
        for (Furn furn : furns) {
            System.out.println(furn);
        }
        return furns;
    }

}
SQL 監(jiān)控數(shù)據(jù)-測試頁面

完成測試, 觀察SQL 監(jiān)控數(shù)據(jù), 瀏覽器輸入http://localhost:10000/druid/sql.html

各項的含義,請參考druid文檔

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

登陸后請求SQL路徑

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

Durid 監(jiān)控功能-Web 關聯(lián)監(jiān)控

需求:

配置Web 關聯(lián)監(jiān)控配置:Web 應用、URI 監(jiān)控

官方文檔https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

Web 關聯(lián)監(jiān)控配置-Web 應用、URI 監(jiān)控
  1. 修改com/nlc/usersys/config/DruidDataSourceConfig.java , 注入/ 增加WebStatFilter 用于采集web-jdbc 關聯(lián)監(jiān)控的數(shù)據(jù)
 //配置WebStatFilter, 用于采集web-jdbc關聯(lián)的監(jiān)控數(shù)據(jù)
    @Bean
    public FilterRegistrationBean webStatFilter() {
        //創(chuàng)建 WebStatFilter
        WebStatFilter webStatFilter = new WebStatFilter();

        FilterRegistrationBean<WebStatFilter> filterRegistrationBean =
                new FilterRegistrationBean<>(webStatFilter);

        //默認對所有的url請求進行監(jiān)控
        filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));

      //排除指定的url
        filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return filterRegistrationBean;
    }
  1. 為了測試方便,修改com/nlc/usersys/config/WebConfig.java, 放行/sql 請求
@Configuration
public class WebConfig /*implements WebMvcConfigurer*/ {

    @Bean
    public WebMvcConfigurer webMvcConfigurer() {

        return new WebMvcConfigurer() {
            @Override
            public void addInterceptors(InterceptorRegistry registry) {
                System.out.println("addInterceptors~~~");
                //注冊攔截器
                registry.addInterceptor(new LoginInterceptor())
                        .addPathPatterns("/**")
                        .excludePathPatterns("/","/login","/images/**","/upload.html","/upload","/sql");
            }
        };
    }
}
重啟項目

完成測試,重啟項目,看看Web 應用和URI 監(jiān)控是否生效

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

Durid 監(jiān)控功能-SQL 防火墻

需求: 配置SQL 防火墻
官方文檔https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

SQL 防火墻
  1. 修改com/nlc/usersys/config/DruidDataSourceConfig.java ,加入防火墻監(jiān)控

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

  1. 完成測試,重啟項目,看看SQL 防火墻監(jiān)控是否生效

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

Durid 監(jiān)控功能-Session 監(jiān)控

需求: 配置Session 監(jiān)控
官方文檔https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

Session 監(jiān)控

  1. 重啟項目, 先登錄管理系統(tǒng)

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

  1. 完成測試, 查看監(jiān)控頁需要輸入用戶名和密碼, 點擊Session 監(jiān)控,可以看到相關信息(注意要登錄用戶系統(tǒng),才能看到Session 監(jiān)控信息)

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

Druid Spring Boot Starter

基本介紹
  1. 前面我們使用的是自己引入druid+配置類方式整合Druid 和監(jiān)控
  2. Druid Spring Boot Starter 可以讓程序員在Spring Boot 項目中更加輕松集成Druid 和監(jiān)控
應用實例

需求: 使用Druid Spring Boot Starter 方式完成Druid 集成和監(jiān)控

具體實現(xiàn)
  1. 修改pom.xml 注銷druid 的依賴
<!--        <dependency>-->
<!--            <groupId>com.alibaba</groupId>-->
<!--            <artifactId>druid-spring-boot-starter</artifactId>-->
<!--            <version>1.1.17</version>-->
<!--        </dependency>-->
  1. 注銷com/nlc/usersys/config/DruidDataSourceConfig.java

  2. 這時測試,druid 失效

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

  1. 查看druid 文檔https://github.com/alibaba/druid,引入druid starter

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

  1. 確認druid starter 引入哪些依賴

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java

  1. 修改resources/application.yml 增加配置參數(shù)
spring:
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 50MB
  datasource: #配置數(shù)據(jù)源
    # 說明: 如果你沒有指定useSSL=true ,啟動項目會報紅警告, 環(huán)境的問題,需要靈活處理
    url: jdbc:mysql://localhost:3306/furn_ssm?useSSL=true&useUnicode=true&characterEncoding=UTF-8
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
    #配置druid和監(jiān)控功能
    druid:
      stat-view-servlet:
        enabled: true
        login-username: jack
        login-password: 666
        reset-enable: false
      web-stat-filter: #配置web監(jiān)控
        enabled: true
        url-pattern: /*
        exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'
      filter:
        stat: #sql監(jiān)控
          slow-sql-millis: 1000
          log-slow-sql: true
          enabled: true
        wall: #配置sql防火墻
          enabled: true
          config:
            drop-table-allow: false
            select-all-column-allow: false
重啟項目,完成測試

完成測試

帶你了解SpringBoot---開啟Durid 監(jiān)控,SpringBoot,spring boot,sql,前端,java文章來源地址http://www.zghlxwxcb.cn/news/detail-666922.html

到了這里,關于帶你了解SpringBoot---開啟Durid 監(jiān)控的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Spring Boot進階(69):輕松實現(xiàn)定時任務持久化!SpringBoot集成quartz帶你玩轉定時任務刪除、暫停、獲取等操作!【附項目源碼】

    Spring Boot進階(69):輕松實現(xiàn)定時任務持久化!SpringBoot集成quartz帶你玩轉定時任務刪除、暫停、獲取等操作!【附項目源碼】

    ????????現(xiàn)如今,隨著市場競爭加劇,各個企業(yè)都在不斷尋求提高效率、降低成本的方法,此時使用自動化工具已成為必不可少的選擇。而在眾多的自動化工具中,定時任務已經成為一項必備工具,而Quartz就是一個非常好用的定時任務框架,它的輕量級、高可靠性、易于使

    2024年02月09日
    瀏覽(31)
  • 【MySQL】一文帶你了解SQL

    【MySQL】一文帶你了解SQL

    ?? 博客主頁:博主鏈接 ?? 本文由 M malloc 原創(chuàng),首發(fā)于 CSDN?? ?? 學習專欄推薦:LeetCode刷題集! ?? 歡迎點贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正! ?? 未來很長,值得我們全力奔赴更美好的生活? ------------------??分割線??------------------------- —————————

    2024年02月08日
    瀏覽(40)
  • SpringBoot開啟 Actuator springboot開啟actuator監(jiān)控信息

    官網文檔: https://docs.spring.io/spring-boot/docs/2.1.5.RELEASE/actuator-api/html/ 2.1.5.RELEASE 為對應springboot版本號 include: \\\"*\\\" 表示 公開所有端點 include: \\\"health,metrics,threaddump\\\" 表示只公開這三個 health,metrics,threaddump 端點 所有可選的端點及說明 端點 作用 “*” 公開全部 health 提供應用程序的健

    2024年01月22日
    瀏覽(18)
  • 5、SpringBoot2之整合Durid

    5、SpringBoot2之整合Durid

    創(chuàng)建名為springboot_druid的新module,過程參考3.1節(jié) 注意:雖然本文使用的是 spring boot 2.7.18 和 MySQL 5.7 ,但是出于可移植性、可擴展性和兼容性方面的考慮, druid 的啟動器使用的是 spring boot 3 版本的,MySQL 的驅動使用的是 MySQL 8 版本的。 注意:在 spring boot 2 中,類似 spring.datas

    2024年02月04日
    瀏覽(21)
  • Spring boot開啟定時任務

    ?? 使用@Scheduled 注解很方便,但缺點是當我們調整了執(zhí)行周期的時候,需要重啟應用才能生效,這多少有些不方便。為了達到實時生效的效果,那么可以使用接口來完成定時任務,統(tǒng)一將定時器信息存放在數(shù)據(jù)庫中。 1.?在mysql中執(zhí)行一下腳本插入定時任務: 2. Mapper層 3.?

    2024年02月10日
    瀏覽(25)
  • Springboot整合Durid-數(shù)據(jù)庫連接池

    一、Springboot使用Durid快速開始 1、 添加依賴 2、添加配置項 (1) durid連接池配置

    2024年02月11日
    瀏覽(23)
  • 一文帶你迅速了解下Spring中的AOP

    一文帶你迅速了解下Spring中的AOP

    AOP(Aspect Oriented Programming):面向切面編程。 面向切面編程是一種思想,其實就是對某一類事情進行統(tǒng)一的處理。而 SpringAOP就是一種AOP的具體實現(xiàn)的框架。這就好比 IOC 和 DI 一樣的關系。 上述就是對登錄功能進行了一個統(tǒng)一的處理! 除了上面的判斷登錄之外,還有: 統(tǒng)一日

    2024年02月13日
    瀏覽(21)
  • 【Spring Boot】了解Spring Boot 的日志文件

    【Spring Boot】了解Spring Boot 的日志文件

    目錄 一、日志的作用 二、日志文件的簡單使用? 1、Spring Boot中的默認日志 2、自定義日志打印 三、日志級別 1、日志級別分類 ?2、日志級別的設置 3、日志持久化 四、基于LomBok的日志輸出 1、安裝Lombok插件 2、使用Lombok添加日志(@slf4j) 3、使用Lombok添加getter和setter方法(@Da

    2024年02月13日
    瀏覽(49)
  • Spring Boot進階(77):開啟Scala之門:用Spring Boot輕松整合Scala

    Spring Boot進階(77):開啟Scala之門:用Spring Boot輕松整合Scala

    ????????Scala是一種基于JVM的編程語言,它融合了面向對象編程和函數(shù)式編程的優(yōu)點,同時也具有強大的類型推斷能力和高階函數(shù)等先進特性,因此在企業(yè)級應用開發(fā)中得到了廣泛的應用。 ????????Spring Boot是一個快速開發(fā)框架,它的宗旨是使Spring應用程序的開發(fā)變得更

    2024年02月08日
    瀏覽(19)
  • 一篇文章帶你了解SpringBoot目錄結構

    一篇文章帶你了解SpringBoot目錄結構

    前言 SpringBoot是整合Spring技術棧的一站式框架,是簡化Spring技術棧的快速開發(fā)腳手架,是一個能夠快速構建生產級別的Spring應用的工具。SpringBoot是目前流行的微服務框架,倡導“約定優(yōu)于配置”,簡化Spring項目搭建及開發(fā)過程。springboot提供了很多核心的功能,比如自動化配置

    2024年03月25日
    瀏覽(90)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包