为什么得到此“状态评估值”输出?

时间:2019-07-13 10:57:15

标签: spring spring-boot

我在服务器上进行了一些更改,但我不知道其中哪些更改会导致此日志输出:

==========================
CONDITION EVALUATION DELTA
==========================


Positive matches:
-----------------

    None


Negative matches:
-----------------

   SpringBootWebSecurityConfiguration:
      Did not match:
         - @ConditionalOnMissingBean (types: org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; SearchStrategy: all) found beans of type 'org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter' org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerSecurityConfiguration, org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfiguration, webSecurityConfig (OnBeanCondition)
      Matched:
         - @ConditionalOnClass found required class 'org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter' (OnClassCondition)
         - found 'session' scope (OnWebApplicationCondition)

   UserDetailsServiceAutoConfiguration:
      Did not match:
         - @ConditionalOnMissingBean (types: org.springframework.security.authentication.AuthenticationManager,org.springframework.security.authentication.AuthenticationProvider,org.springframework.security.core.userdetails.UserDetailsService; SearchStrategy: all) found beans of type 'org.springframework.security.authentication.AuthenticationManager' authenticationManager and found beans of type 'org.springframework.security.core.userdetails.UserDetailsService' appUserDetailsService and found beans of type 'org.springframework.security.authentication.AuthenticationProvider' daoAuthenticationProvider (OnBeanCondition)
      Matched:
         - @ConditionalOnClass found required class 'org.springframework.security.authentication.AuthenticationManager' (OnClassCondition)

   WebSecurityEnablerConfiguration:
      Did not match:
         - @ConditionalOnMissingBean (names: springSecurityFilterChain; SearchStrategy: all) found beans named springSecurityFilterChain (OnBeanCondition)
      Matched:
         - found 'session' scope (OnWebApplicationCondition)


Exclusions:
-----------

    None


Unconditional classes:
----------------------

    None

这真的没有告诉我任何事情。

这甚至意味着什么?因为服务器仍然可以正常工作,所以出现故障了吗?

3 个答案:

答案 0 :(得分:0)

条件评估增量是Spring Boot的DevTools的功能。在the documentation中的描述如下:

  

默认情况下,每次应用程序重新启动时,都会记录一个报告,其中显示了条件评估增量。该报告显示了在进行更改(例如添加或删除Bean以及设置配置属性)时对应用程序自动配置的更改。

在您的问题所示的情况下,对与安全相关的bean进行了一些更改,这些更改影响了安全性自动配置。没有什么坏的。输出正在尝试帮助您了解对应用程序所做的更改如何影响其自动配置。

如果愿意,可以关闭增量记录。为此,请设置以下属性:

spring.devtools.restart.log-condition-evaluation-delta=false

答案 1 :(得分:0)

即使您没有进行任何更改,这也可能发生。它似乎是一个错误。

在带有permitAll()的配置类中,我的身份验证被禁用,并且在全新启动应用程序时按预期的100%正常工作。

但是,当重新启动程序启动时,我会经常看到SpringBootWebSecurityConfiguration增量,并且在刷新浏览器时,会看到错误的登录屏幕。

执行另一次构建(实际上会更改某些内容,以触发重新启动程序)或IntelliJ“更新应用程序”,通常会显示另一个增量(从自动配置转到我的配置),然后登录屏幕为否更长的时间。通常,并非总是如此-有时需要2或我放弃并停止+开始。

您可以想象,这非常令人沮丧。从好的方面来说,我的应用程序非常轻巧,停止+启动与使用重启程序之间几乎没有区别。我只是在改变我的习惯,就能从我的项目中删除依赖项!

答案 2 :(得分:0)

当应用程序的日志级别设置为跟踪调试时生成。