springboot 3 中配置 druid 时如何解决无法访问 servlet 问题?
在使用 springboot 3.0.5 集成 druid 1.2.16 时,由于无法访问 Javax.servlet.http.httpservlet,导致配置 druid 的 servletregistrationbean 出现错误。
解决方案:
既然使用了 druid-spring-boot-starter,理论上无需过多代码即可完成配置。可参考官方文档:
[druid springboot starter](https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter)
也可以通过以下步骤解决:
1. 添加 @componentscan(“com.alibaba.druid”) 注解:
此注释将加载必要的类,但可能会引起异常。
2. 弃用 void org.springframework.boot.web.servlet.Filterregistrationbean.setfilter(javax.servlet.filter) 方法:
这是由于 springboot 3 从 java ee 迁移到了 jakarta ee api,导致 servlet 的相关类发生了更改。
3. 在 application.properties 中启用监控页面:
spring.datasource.druid.stat-view-servlet.enabled: true
完成上述步骤后,应能成功配置 druid 并打开其监控页面。