当前位置: 代码迷 >> 综合 >> 六.(核心功能)Springboot 数据访问阶段( 如何更改 自动配置的数据源 整合第三方的技术 HikariDataSource--->druid)
  详细解决方案

六.(核心功能)Springboot 数据访问阶段( 如何更改 自动配置的数据源 整合第三方的技术 HikariDataSource--->druid)

热度:83   发布时间:2023-11-22 23:12:39.0

2、使用Druid数据源

  1、druid官方github地址

      https://github.com/alibaba/druid

整合第三方技术的两种方式

  • 1. 自定义   (写配置类加入容器中,但是上面要根据自动配置的形式加入注解)
  •  2.找starter

2、自定义方式

1、创建数据源

        <dependency>    //配置依赖<groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.17</version></dependency>
//写自己的数据源配置,注解新技术一定要根据官方文档来配置相应的其他功能

2、StatViewServlet

StatViewServlet的用途包括:

  • 提供监控信息展示的html页面
  • 提供监控信息的JSON API
	<servlet>  
//这是官方提供的在pom 中配置的信息,现在,在配置类中,直接添加,翻译就可以<servlet-name>DruidStatView</servlet-name><servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-  class></servlet><servlet-mapping><servlet-name>DruidStatView</servlet-name><url-pattern>/druid/*</url-pattern></servlet-mapping>

3、StatFilter

用于统计监控信息;如SQL监控、URI监控

需要给数据源中配置如下属性;可以允许多个filter,多个用,分割;如:<property name="filters" value="stat,slf4j" />

系统中所有filter:

别名

Filter类名

default

com.alibaba.druid.filter.stat.StatFilter

stat

com.alibaba.druid.filter.stat.StatFilter

mergeStat

com.alibaba.druid.filter.stat.MergeStatFilter

encoding

com.alibaba.druid.filter.encoding.EncodingConvertFilter

log4j

com.alibaba.druid.filter.logging.Log4jFilter

log4j2

com.alibaba.druid.filter.logging.Log4j2Filter

slf4j

com.alibaba.druid.filter.logging.Slf4jLogFilter

commonlogging

com.alibaba.druid.filter.logging.CommonsLogFilter

慢SQL记录配置

<bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter"><property name="slowSqlMillis" value="10000" /><property name="logSlowSql" value="true" />
</bean>使用 slowSqlMillis 定义慢SQL的时长

3、使用官方starter方式引入第三方

1、引入druid-starter

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

2、分析自动配置

  • 扩展配置项 spring.datasource.druid
  • DruidSpringAopConfiguration.class, 监控SpringBean的;配置项:spring.datasource.druid.aop-patterns
  • DruidStatViewServletConfiguration.class, 监控页的配置:spring.datasource.druid.stat-view-servlet;默认开启
  • DruidWebStatFilterConfiguration.class, web监控配置;spring.datasource.druid.web-stat-filter;默认开启
  • DruidFilterConfiguration.class}) 所有Druid自己filter的配置

3、配置示例

 
 

SpringBoot配置示例官方

https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

  相关解决方案