建议依赖Web环境的配置,添加 @ConditionalOnWebApplication 注解 如:DruidStatViewServletConfiguration、DruidWebStatFilterConfiguration 2个配置类,要不然非Web环境会抛异常
原提问者GitHub用户taolive
如果您的配置类需要依赖Web环境,并且在非Web环境中会抛出异常,可以使用@ConditionalOnWebApplication
注解来确保配置类只在Web环境中生效。这个注解可以帮助您避免在非Web环境中加载不必要的配置类,提高应用程序的启动速度和效率。
在您的情况下,您可以在DruidStatViewServletConfiguration
和DruidWebStatFilterConfiguration
两个配置类上添加@ConditionalOnWebApplication
注解,示例如下:
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConditionalOnWebApplication
public class DruidStatViewServletConfiguration {
// 配置类的内容
}
@Configuration
@ConditionalOnWebApplication
public class DruidWebStatFilterConfiguration {
// 配置类的内容
}
通过添加@ConditionalOnWebApplication
注解,这两个配置类将只在Web环境中生效,而在非Web环境中将被忽略,从而避免了可能出现的异常情况。
请注意,在使用@ConditionalOnWebApplication
注解之前,请确保已经引入了正确的相关依赖,并且项目已经配置为Web应用程序。
在Spring Boot中,可以使用@ConditionalOnWebApplication注解来指定一个配置类只在Web环境中生效。这个注解可以帮助我们避免在非Web环境中加载不必要的配置类,从而提高应用程序的启动速度和效率。
@ConditionalOnWebApplication注解通常用于需要依赖Web环境的配置类中,例如WebMvcConfigurer、WebSecurityConfigurer等。使用@ConditionalOnWebApplication注解可以保证这些配置类只会在Web环境中加载,避免在非Web环境中出现异常或者不必要的加载。
问题已修复,请用新版本 https://github.com/alibaba/druid/releases/tag/1.1.14
原回答者GitHub用户wenshao
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。