springboot3 配置druid ?
当我使用springboot 3.0.5集成druid1.2.16时,在写配置druid的配置文件ServletRegistrationBean<Servlet> bean = new ServletRegistrationBean(new StatViewServlet(),url);显示的报错信息为java: 无法访问javax.servlet.http.HttpServlet
如何解决无法访问无法访问javax.servlet.http.HttpServlet
如何打开druid的监控页面
回答:
既然你使用了 druid-spring-boot-starter
理论上就不应该还要那么多代码,基本都能通过配置搞定。
参考下官方文档吧。
https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
自动装配的Bean是这个,但是配置spring.datasource.druid.stat-view-servlet.enabled: true
后,也没有自动装配。
添加@ComponentScan("com.alibaba.druid")
会加载该类,但会报异常。
2023-03-31T17:46:03.042+08:00 ERROR 18495 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : ***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
com.alibaba.druid.spring.boot.autoconfigure.stat.DruidWebStatFilterConfiguration.webStatFilterRegistrationBean(DruidWebStatFilterConfiguration.java:36)
The following method did not exist:
'void org.springframework.boot.web.servlet.FilterRegistrationBean.setFilter(javax.servlet.Filter)'
The calling method's class, com.alibaba.druid.spring.boot.autoconfigure.stat.DruidWebStatFilterConfiguration, was loaded from the following location:
找不到这个方法void org.springframework.boot.web.servlet.FilterRegistrationBean.setFilter(javax.servlet.Filter)
,应该是SP3适配的问题,没再细看。https://github.com/alibaba/druid/issues/5187
又细看了一下,主要问题是SpringBoot3由Java EE 迁移到 Jakarta EE API。
Druid里面的StatViewServlet
和WebStatFilter
都是基于javax.servlet
开发,而SP3则是jakarta.servlet
。
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
回答:
你没有在pom.xml中添加javax.servlet-api的依赖,导致找不到HttpServlet的类文件。你需要在pom.xml中添加依赖:
**<dependency> <groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>**
或者你没有在application.properties中开启druid的stat-view-servlet2,导致无法访问监控页面。你需要在application.properties中添加配置:
#druid servletspring.datasource.druid.stat-view-servlet.enabled=true
以上是 springboot3 配置druid ? 的全部内容, 来源链接: utcz.com/p/945081.html