SpringBoot_配置-@Conditional自动配置报告

前面我们通过分析HttpEncodingAutoConfiguration,给大家讲解了一下自动配置的原理,那么在自动配置的时候呢,就是这个自动配置要能够生效,他有一些判断,conditional这些注解,这些判断成功了以后,这个自动配置才能够生效,包括我们来看,我们给容器中加组件的时候@Bean
@ConditionalOnMissingBean(CharacterEncodingFilter.class)
public CharacterEncodingFilter characterEncodingFilter() {CharacterEncodingFilter filter = new OrderedCharacterEncodingFilter();filter.setEncoding(this.properties.getCharset().name());filter.setForceRequestEncoding(this.properties.shouldForce(Type.REQUEST));filter.setForceResponseEncoding(this.properties.shouldForce(Type.RESPONSE));return filter;
}@Bean来给容器中添加组件,当然添加的时候也有条件判断,这个条件判断叫@ConditionalOnMissingBean,容器中必须没有这个组件,MissingBean叫没有的意思,容器中如果没有配过这个组件,那我就给你配一个,现在就有这么多的@ConditionalOn,他们底层就是用Spring的Condition注解做的@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Conditional(OnClassCondition.class)
public @interface ConditionalOnClass {这个Condition注解后面指定的是一个条件,判断类,这个条件判断类有一个match方法@Override
public boolean[] match(String[] autoConfigurationClasses,AutoConfigurationMetadata autoConfigurationMetadata) {ConditionEvaluationReport report = getConditionEvaluationReport();ConditionOutcome[] outcomes = getOutcomes(autoConfigurationClasses,autoConfigurationMetadata);boolean[] match = new boolean[outcomes.length];for (int i = 0; i < outcomes.length; i++) {match[i] = (outcomes[i] == null || outcomes[i].isMatch());if (!match[i] && outcomes[i] != null) {logOutcome(autoConfigurationClasses[i], outcomes[i]);if (report != null) {report.recordConditionEvaluation(autoConfigurationClasses[i], this,outcomes[i]);}}}return match;
}我们自己可以写JAVA代码,只要匹配了就返回true,不匹配就返回false,返回false的情况下就相当于条件失败,一旦条件判断失败,后边就可以不执行了,像这个原生的注解,我们Spring版注解里都有,咱们可以看原生的condition作用,必须是@Conditional指定的条件成立, 才能给容器添加组件,配置文件类里的所有内容才生效,而我们Condition把注解扩展了很多

原理就是我们注解版里讲的,作用大概看一下,第一个ConditionalOnJava,他的作用就是判断,我们当前的JAVA版本是否符合要求,是不是高版本的JAVA还是低版本的JAVA,还有ConditionalOnBean,他的判断意思是,我们容器中是否存在指定的组件,比如我们在配置filter的时候,他就标了一个@ConditionalOnMissingBean(CharacterEncodingFilter.class)MissingBean判断容器中没有这个组件,如果没有这个组件,判断成立了,容器中确实没有这个组件,我才给你加,否则就不加,与之对应的,有ConditionalOnBean,容器中有这个组件和容器中没有这个组件,然后还有是否满足SPEL表达式,还有容器中有这个类,容器中有这个类就给你干,如果没有就算了,还有容器中没有这个类,如果容器中没有这个类,就给你添加,有这个类我就不做,等等这些判断,还有OnProperty,判断系统中是否有指定的属性,也就是输欧你在配置文件里边,是否配了指定的属性,Resouce检查类路径下是否有指定的资源,包括ConditionalOnWebApplication,看一下是否是当前WEB环境,这个判断你当前必须不是WEB环境,然后JNDI是否存在指定项,底层原理就是Spring的Conditional,基于这个条件,我们可以想到,虽然我们自动配置类非常多,自动配置类都在spring-boot-autoconfigure-1.5.12.RELEASE.jar这个包下,这个包专门有一个文件,叫做spring.factories,有这么多文件都是自动配置类,但是由于自动配置类有条件才能生效,自动配置类必须要在一定的条件下才能生效,虽然我们加了这么多自动配置,但不是所有的功能都生效的,比如我举一个例子,AOP要生效的场景是什么呢@Configuration
@ConditionalOnClass({ EnableAspectJAutoProxy.class, Aspect.class, Advice.class })
@ConditionalOnProperty(prefix = "spring.aop", name = "auto", havingValue = "true", 
matchIfMissing = true)
public class AopAutoConfiguration {他要判断@ConditionalOnClass,加入我们项目里面有一个类,EnableAspectJAutoProxy.class, Aspect.class, 
Advice.class,Aspect是我们的切面类,切面类要导入Aspect;这个jar包,没有aop相关的jar包,所以aop的功能还不能用,自动配置类要在一定条件下才能够生效,我们现在重要的任务就是,我们怎么知道我们那些自动配置类生效了,我们只有知道哪些自动配置类生效了,我们才可以看,AOP他做了什么活,但是如果我们挨个挨个来分析,这是不是太麻烦了,看我们项目下有没有这个类,也没有,那他就不生效,如果我们一个一个这么来判断,太麻烦了,我们可以在配置文件中写上一项,debug我打成truedebug=true默认是false,开启Springboot的debug模式,会非常好用,我们来运行一下,一旦debug模式进来以后呢,控制台就会告诉我们哪些用了哪些没用,自动配置报告AUTO-CONFIGURATION REPORT我们可以通过启用debug=ture属性,来让控制台打印自动配置报告,这样我们就可以很方便的知道,哪些自动配置类生效
Positive matches:
-----------------DispatcherServletAutoConfiguration matched:- @ConditionalOnClass found required class 'org.springframework.web.servlet.DispatcherServlet'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- @ConditionalOnWebApplication (required) found StandardServletEnvironment (OnWebApplicationCondition)DispatcherServletAutoConfiguration.DispatcherServletConfiguration matched:- @ConditionalOnClass found required class 'javax.servlet.ServletRegistration'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- Default DispatcherServlet did not find dispatcher servlet beans (DispatcherServletAutoConfiguration.DefaultDispatcherServletCondition)DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration matched:- @ConditionalOnClass found required class 'javax.servlet.ServletRegistration'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- DispatcherServlet Registration did not find servlet registration bean (DispatcherServletAutoConfiguration.DispatcherServletRegistrationCondition)DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration#dispatcherServletRegistration matched:- @ConditionalOnBean (names: dispatcherServlet; types: org.springframework.web.servlet.DispatcherServlet; SearchStrategy: all) found beans 'dispatcherServlet', 'dispatcherServlet' (OnBeanCondition)EmbeddedServletContainerAutoConfiguration matched:- @ConditionalOnWebApplication (required) found StandardServletEnvironment (OnWebApplicationCondition)EmbeddedServletContainerAutoConfiguration.EmbeddedTomcat matched:- @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.apache.catalina.startup.Tomcat'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- @ConditionalOnMissingBean (types: org.springframework.boot.context.embedded.EmbeddedServletContainerFactory; SearchStrategy: current) did not find any beans (OnBeanCondition)ErrorMvcAutoConfiguration matched:- @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.servlet.DispatcherServlet'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- @ConditionalOnWebApplication (required) found StandardServletEnvironment (OnWebApplicationCondition)ErrorMvcAutoConfiguration#basicErrorController matched:- @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ErrorController; SearchStrategy: current) did not find any beans (OnBeanCondition)ErrorMvcAutoConfiguration#errorAttributes matched:- @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ErrorAttributes; SearchStrategy: current) did not find any beans (OnBeanCondition)ErrorMvcAutoConfiguration.DefaultErrorViewResolverConfiguration#conventionErrorViewResolver matched:- @ConditionalOnBean (types: org.springframework.web.servlet.DispatcherServlet; SearchStrategy: all) found bean 'dispatcherServlet'; @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.DefaultErrorViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration matched:- @ConditionalOnProperty (server.error.whitelabel.enabled) matched (OnPropertyCondition)- ErrorTemplate Missing did not find error template view (ErrorMvcAutoConfiguration.ErrorTemplateMissingCondition)ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration#beanNameViewResolver matched:- @ConditionalOnMissingBean (types: org.springframework.web.servlet.view.BeanNameViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration#defaultErrorView matched:- @ConditionalOnMissingBean (names: error; SearchStrategy: all) did not find any beans (OnBeanCondition)GenericCacheConfiguration matched:- Cache org.springframework.boot.autoconfigure.cache.GenericCacheConfiguration automatic cache type (CacheCondition)HttpEncodingAutoConfiguration matched:- @ConditionalOnClass found required class 'org.springframework.web.filter.CharacterEncodingFilter'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- @ConditionalOnWebApplication (required) found StandardServletEnvironment (OnWebApplicationCondition)- @ConditionalOnProperty (spring.http.encoding.enabled) matched (OnPropertyCondition)HttpEncodingAutoConfiguration#characterEncodingFilter matched:- @ConditionalOnMissingBean (types: org.springframework.web.filter.CharacterEncodingFilter; SearchStrategy: all) did not find any beans (OnBeanCondition)HttpMessageConvertersAutoConfiguration matched:- @ConditionalOnClass found required class 'org.springframework.http.converter.HttpMessageConverter'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)HttpMessageConvertersAutoConfiguration#messageConverters matched:- @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.HttpMessageConverters; SearchStrategy: all) did not find any beans (OnBeanCondition)HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration matched:- @ConditionalOnClass found required class 'org.springframework.http.converter.StringHttpMessageConverter'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration#stringHttpMessageConverter matched:- @ConditionalOnMissingBean (types: org.springframework.http.converter.StringHttpMessageConverter; SearchStrategy: all) did not find any beans (OnBeanCondition)JacksonAutoConfiguration matched:- @ConditionalOnClass found required class 'com.fasterxml.jackson.databind.ObjectMapper'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)JacksonAutoConfiguration.Jackson2ObjectMapperBuilderCustomizerConfiguration matched:- @ConditionalOnClass found required classes 'com.fasterxml.jackson.databind.ObjectMapper', 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration matched:- @ConditionalOnClass found required classes 'com.fasterxml.jackson.databind.ObjectMapper', 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration#jacksonObjectMapperBuilder matched:- @ConditionalOnMissingBean (types: org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition)JacksonAutoConfiguration.JacksonObjectMapperConfiguration matched:- @ConditionalOnClass found required classes 'com.fasterxml.jackson.databind.ObjectMapper', 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)JacksonAutoConfiguration.JacksonObjectMapperConfiguration#jacksonObjectMapper matched:- @ConditionalOnMissingBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) did not find any beans (OnBeanCondition)JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration matched:- @ConditionalOnClass found required class 'com.fasterxml.jackson.databind.ObjectMapper'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- @ConditionalOnProperty (spring.http.converters.preferred-json-mapper=jackson) matched (OnPropertyCondition)- @ConditionalOnBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) found bean 'jacksonObjectMapper' (OnBeanCondition)JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration#mappingJackson2HttpMessageConverter matched:- @ConditionalOnMissingBean (types: org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; SearchStrategy: all) did not find any beans (OnBeanCondition)JmxAutoConfiguration matched:- @ConditionalOnClass found required class 'org.springframework.jmx.export.MBeanExporter'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- @ConditionalOnProperty (spring.jmx.enabled=true) matched (OnPropertyCondition)JmxAutoConfiguration#mbeanExporter matched:- @ConditionalOnMissingBean (types: org.springframework.jmx.export.MBeanExporter; SearchStrategy: current) did not find any beans (OnBeanCondition)JmxAutoConfiguration#mbeanServer matched:- @ConditionalOnMissingBean (types: javax.management.MBeanServer; SearchStrategy: all) did not find any beans (OnBeanCondition)JmxAutoConfiguration#objectNamingStrategy matched:- @ConditionalOnMissingBean (types: org.springframework.jmx.export.naming.ObjectNamingStrategy; SearchStrategy: current) did not find any beans (OnBeanCondition)MultipartAutoConfiguration matched:- @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.multipart.support.StandardServletMultipartResolver', 'javax.servlet.MultipartConfigElement'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- @ConditionalOnProperty (spring.http.multipart.enabled) matched (OnPropertyCondition)MultipartAutoConfiguration#multipartConfigElement matched:- @ConditionalOnMissingBean (types: javax.servlet.MultipartConfigElement; SearchStrategy: all) did not find any beans (OnBeanCondition)MultipartAutoConfiguration#multipartResolver matched:- @ConditionalOnMissingBean (types: org.springframework.web.multipart.MultipartResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)NoOpCacheConfiguration matched:- Cache org.springframework.boot.autoconfigure.cache.NoOpCacheConfiguration automatic cache type (CacheCondition)PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer matched:- @ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) did not find any beans (OnBeanCondition)RedisCacheConfiguration matched:- Cache org.springframework.boot.autoconfigure.cache.RedisCacheConfiguration automatic cache type (CacheCondition)ServerPropertiesAutoConfiguration matched:- @ConditionalOnWebApplication (required) found StandardServletEnvironment (OnWebApplicationCondition)ServerPropertiesAutoConfiguration#serverProperties matched:- @ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ServerProperties; SearchStrategy: current) did not find any beans (OnBeanCondition)SimpleCacheConfiguration matched:- Cache org.springframework.boot.autoconfigure.cache.SimpleCacheConfiguration automatic cache type (CacheCondition)ValidationAutoConfiguration matched:- @ConditionalOnClass found required class 'javax.validation.executable.ExecutableValidator'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- @ConditionalOnResource found location classpath:META-INF/services/javax.validation.spi.ValidationProvider (OnResourceCondition)ValidationAutoConfiguration#defaultValidator matched:- @ConditionalOnMissingBean (types: javax.validation.Validator; SearchStrategy: all) did not find any beans (OnBeanCondition)ValidationAutoConfiguration#methodValidationPostProcessor matched:- @ConditionalOnMissingBean (types: org.springframework.validation.beanvalidation.MethodValidationPostProcessor; SearchStrategy: all) did not find any beans (OnBeanCondition)WebClientAutoConfiguration.RestTemplateConfiguration matched:- @ConditionalOnClass found required class 'org.springframework.web.client.RestTemplate'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)WebClientAutoConfiguration.RestTemplateConfiguration#restTemplateBuilder matched:- @ConditionalOnMissingBean (types: org.springframework.boot.web.client.RestTemplateBuilder; SearchStrategy: all) did not find any beans (OnBeanCondition)WebMvcAutoConfiguration matched:- @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.servlet.DispatcherServlet', 'org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- @ConditionalOnWebApplication (required) found StandardServletEnvironment (OnWebApplicationCondition)- @ConditionalOnMissingBean (types: org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; SearchStrategy: all) did not find any beans (OnBeanCondition)WebMvcAutoConfiguration#hiddenHttpMethodFilter matched:- @ConditionalOnMissingBean (types: org.springframework.web.filter.HiddenHttpMethodFilter; SearchStrategy: all) did not find any beans (OnBeanCondition)WebMvcAutoConfiguration#httpPutFormContentFilter matched:- @ConditionalOnProperty (spring.mvc.formcontent.putfilter.enabled) matched (OnPropertyCondition)- @ConditionalOnMissingBean (types: org.springframework.web.filter.HttpPutFormContentFilter; SearchStrategy: all) did not find any beans (OnBeanCondition)WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#defaultViewResolver matched:- @ConditionalOnMissingBean (types: org.springframework.web.servlet.view.InternalResourceViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#requestContextFilter matched:- @ConditionalOnMissingBean (types: org.springframework.web.context.request.RequestContextListener,org.springframework.web.filter.RequestContextFilter; SearchStrategy: all) did not find any beans (OnBeanCondition)WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#viewResolver matched:- @ConditionalOnBean (types: org.springframework.web.servlet.ViewResolver; SearchStrategy: all) found beans 'defaultViewResolver', 'beanNameViewResolver', 'mvcViewResolver'; @ConditionalOnMissingBean (names: viewResolver; types: org.springframework.web.servlet.view.ContentNegotiatingViewResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter.FaviconConfiguration matched:- @ConditionalOnProperty (spring.mvc.favicon.enabled) matched (OnPropertyCondition)WebSocketAutoConfiguration matched:- @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'javax.websocket.server.ServerContainer'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- @ConditionalOnWebApplication (required) found StandardServletEnvironment (OnWebApplicationCondition)WebSocketAutoConfiguration.TomcatWebSocketConfiguration matched:- @ConditionalOnClass found required classes 'org.apache.catalina.startup.Tomcat', 'org.apache.tomcat.websocket.server.WsSci'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)WebSocketAutoConfiguration.TomcatWebSocketConfiguration#websocketContainerCustomizer matched:- @ConditionalOnJava (1.7 or newer) found 1.8 (OnJavaCondition)- @ConditionalOnMissingBean (names: websocketContainerCustomizer; SearchStrategy: all) did not find any beans (OnBeanCondition)
Negative matches:
-----------------ActiveMQAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'javax.jms.ConnectionFactory', 'org.apache.activemq.ActiveMQConnectionFactory' (OnClassCondition)AopAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.aspectj.lang.annotation.Aspect', 'org.aspectj.lang.reflect.Advice' (OnClassCondition)ArtemisAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'javax.jms.ConnectionFactory', 'org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory' (OnClassCondition)BatchAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.batch.core.launch.JobLauncher', 'org.springframework.jdbc.core.JdbcOperations' (OnClassCondition)CacheAutoConfiguration:Did not match:- @ConditionalOnBean (types: org.springframework.cache.interceptor.CacheAspectSupport; SearchStrategy: all) did not find any beans (OnBeanCondition)Matched:- @ConditionalOnClass found required class 'org.springframework.cache.CacheManager'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)CacheAutoConfiguration.CacheManagerJpaDependencyConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean' (OnClassCondition)- Ancestor org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration did not match (ConditionEvaluationReport.AncestorsMatchedCondition)CaffeineCacheConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.github.benmanes.caffeine.cache.Caffeine', 'org.springframework.cache.caffeine.CaffeineCacheManager' (OnClassCondition)CassandraAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.datastax.driver.core.Cluster' (OnClassCondition)CassandraDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.datastax.driver.core.Cluster', 'org.springframework.data.cassandra.core.CassandraAdminOperations' (OnClassCondition)CassandraRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.datastax.driver.core.Session', 'org.springframework.data.cassandra.repository.CassandraRepository' (OnClassCondition)CloudAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.cloud.config.java.CloudScanConfiguration' (OnClassCondition)CouchbaseAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.couchbase.client.java.CouchbaseBucket', 'com.couchbase.client.java.Cluster' (OnClassCondition)CouchbaseCacheConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.couchbase.client.java.Bucket', 'com.couchbase.client.spring.cache.CouchbaseCacheManager' (OnClassCondition)CouchbaseDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.couchbase.client.java.Bucket', 'org.springframework.data.couchbase.repository.CouchbaseRepository' (OnClassCondition)CouchbaseRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.couchbase.client.java.Bucket', 'org.springframework.data.couchbase.repository.CouchbaseRepository' (OnClassCondition)DataSourceAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType' (OnClassCondition)DataSourceTransactionManagerAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.jdbc.core.JdbcTemplate', 'org.springframework.transaction.PlatformTransactionManager' (OnClassCondition)DeviceDelegatingViewResolverAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.mobile.device.view.LiteDeviceDelegatingViewResolver' (OnClassCondition)DeviceResolverAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.mobile.device.DeviceResolverHandlerInterceptor', 'org.springframework.mobile.device.DeviceHandlerMethodArgumentResolver' (OnClassCondition)DispatcherServletAutoConfiguration.DispatcherServletConfiguration#multipartResolver:Did not match:- @ConditionalOnBean (types: org.springframework.web.multipart.MultipartResolver; SearchStrategy: all) did not find any beans (OnBeanCondition)EhCacheCacheConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'net.sf.ehcache.Cache', 'org.springframework.cache.ehcache.EhCacheCacheManager' (OnClassCondition)ElasticsearchAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.elasticsearch.client.Client', 'org.springframework.data.elasticsearch.client.TransportClientFactoryBean', 'org.springframework.data.elasticsearch.client.NodeClientFactoryBean' (OnClassCondition)ElasticsearchDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.elasticsearch.client.Client', 'org.springframework.data.elasticsearch.core.ElasticsearchTemplate' (OnClassCondition)ElasticsearchRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.elasticsearch.client.Client', 'org.springframework.data.elasticsearch.repository.ElasticsearchRepository' (OnClassCondition)EmbeddedLdapAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.unboundid.ldap.listener.InMemoryDirectoryServer' (OnClassCondition)EmbeddedMongoAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.mongodb.MongoClient', 'de.flapdoodle.embed.mongo.MongodStarter' (OnClassCondition)EmbeddedServletContainerAutoConfiguration.EmbeddedJetty:Did not match:- @ConditionalOnClass did not find required classes 'org.eclipse.jetty.server.Server', 'org.eclipse.jetty.util.Loader', 'org.eclipse.jetty.webapp.WebAppContext' (OnClassCondition)EmbeddedServletContainerAutoConfiguration.EmbeddedUndertow:Did not match:- @ConditionalOnClass did not find required classes 'io.undertow.Undertow', 'org.xnio.SslClientAuthMode' (OnClassCondition)FacebookAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.social.config.annotation.SocialConfigurerAdapter', 'org.springframework.social.facebook.connect.FacebookConnectionFactory' (OnClassCondition)FallbackWebSecurityAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition)FlywayAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.flywaydb.core.Flyway' (OnClassCondition)FreeMarkerAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'freemarker.template.Configuration', 'org.springframework.ui.freemarker.FreeMarkerConfigurationFactory' (OnClassCondition)GroovyTemplateAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'groovy.text.markup.MarkupTemplateEngine' (OnClassCondition)GsonAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.google.gson.Gson' (OnClassCondition)GsonHttpMessageConvertersConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.google.gson.Gson' (OnClassCondition)GuavaCacheConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.google.common.cache.CacheBuilder', 'org.springframework.cache.guava.GuavaCacheManager' (OnClassCondition)H2ConsoleAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.h2.server.web.WebServlet' (OnClassCondition)HazelcastAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance' (OnClassCondition)HazelcastCacheConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.hazelcast.core.HazelcastInstance', 'com.hazelcast.spring.cache.HazelcastCacheManager' (OnClassCondition)HazelcastJpaDependencyAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.hazelcast.core.HazelcastInstance', 'org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean' (OnClassCondition)HibernateJpaAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean', 'javax.persistence.EntityManager' (OnClassCondition)HypermediaAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.hateoas.Resource', 'org.springframework.plugin.core.Plugin' (OnClassCondition)InfinispanCacheConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.infinispan.spring.provider.SpringEmbeddedCacheManager' (OnClassCondition)IntegrationAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.integration.config.EnableIntegration' (OnClassCondition)JCacheCacheConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'javax.cache.Caching', 'org.springframework.cache.jcache.JCacheCacheManager' (OnClassCondition)JacksonAutoConfiguration.JodaDateTimeJacksonConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.joda.time.DateTime', 'com.fasterxml.jackson.datatype.joda.ser.DateTimeSerializer', 'com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat' (OnClassCondition)JacksonAutoConfiguration.ParameterNamesModuleConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.fasterxml.jackson.module.paramnames.ParameterNamesModule' (OnClassCondition)JacksonHttpMessageConvertersConfiguration.MappingJackson2XmlHttpMessageConverterConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.fasterxml.jackson.dataformat.xml.XmlMapper' (OnClassCondition)JdbcTemplateAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.jdbc.core.JdbcTemplate' (OnClassCondition)JerseyAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.glassfish.jersey.server.spring.SpringComponentProvider' (OnClassCondition)JestAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'io.searchbox.client.JestClient' (OnClassCondition)JmsAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'javax.jms.Message', 'org.springframework.jms.core.JmsTemplate' (OnClassCondition)JndiConnectionFactoryAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.jms.core.JmsTemplate' (OnClassCondition)JndiDataSourceAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType' (OnClassCondition)JooqAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.jooq.DSLContext' (OnClassCondition)JpaRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.jpa.repository.JpaRepository' (OnClassCondition)JtaAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.transaction.Transaction' (OnClassCondition)KafkaAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.kafka.core.KafkaTemplate' (OnClassCondition)LdapAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.ldap.core.ContextSource' (OnClassCondition)LdapDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.ldap.repository.LdapRepository' (OnClassCondition)LdapRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.ldap.repository.LdapRepository' (OnClassCondition)LinkedInAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.social.config.annotation.SocialConfigurerAdapter', 'org.springframework.social.linkedin.connect.LinkedInConnectionFactory' (OnClassCondition)LiquibaseAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'liquibase.integration.spring.SpringLiquibase' (OnClassCondition)MailSenderAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'javax.mail.internet.MimeMessage' (OnClassCondition)MailSenderValidatorAutoConfiguration:Did not match:- @ConditionalOnProperty (spring.mail.test-connection) did not find property 'test-connection' (OnPropertyCondition)MessageSourceAutoConfiguration:Did not match:- ResourceBundle did not find bundle with basename messages (MessageSourceAutoConfiguration.ResourceBundleCondition)MongoAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.mongodb.MongoClient' (OnClassCondition)MongoDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.mongodb.MongoClient', 'org.springframework.data.mongodb.core.MongoTemplate' (OnClassCondition)MongoRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'com.mongodb.MongoClient', 'org.springframework.data.mongodb.repository.MongoRepository' (OnClassCondition)MustacheAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.samskivert.mustache.Mustache' (OnClassCondition)Neo4jDataAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.neo4j.ogm.session.SessionFactory', 'org.springframework.data.neo4j.transaction.Neo4jTransactionManager', 'org.springframework.transaction.PlatformTransactionManager' (OnClassCondition)Neo4jRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.neo4j.ogm.session.Neo4jSession', 'org.springframework.data.neo4j.repository.GraphRepository' (OnClassCondition)OAuth2AutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.security.oauth2.common.OAuth2AccessToken' (OnClassCondition)PersistenceExceptionTranslationAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor' (OnClassCondition)ProjectInfoAutoConfiguration#buildProperties:Did not match:- @ConditionalOnResource did not find resource '${spring.info.build.location:classpath:META-INF/build-info.properties}' (OnResourceCondition)ProjectInfoAutoConfiguration#gitProperties:Did not match:- GitResource did not find git info at classpath:git.properties (ProjectInfoAutoConfiguration.GitResourceAvailableCondition)RabbitAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.amqp.rabbit.core.RabbitTemplate', 'com.rabbitmq.client.Channel' (OnClassCondition)ReactorAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'reactor.spring.context.config.EnableReactor', 'reactor.Environment' (OnClassCondition)RedisAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.data.redis.connection.jedis.JedisConnection', 'org.springframework.data.redis.core.RedisOperations', 'redis.clients.jedis.Jedis' (OnClassCondition)RedisRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'redis.clients.jedis.Jedis', 'org.springframework.data.redis.repository.configuration.EnableRedisRepositories' (OnClassCondition)RepositoryRestMvcAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration' (OnClassCondition)SecurityAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.security.authentication.AuthenticationManager', 'org.springframework.security.config.annotation.authentication.configurers.GlobalAuthenticationConfigurerAdapter' (OnClassCondition)SecurityFilterAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer', 'org.springframework.security.config.http.SessionCreationPolicy' (OnClassCondition)SendGridAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'com.sendgrid.SendGrid' (OnClassCondition)SessionAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.session.Session' (OnClassCondition)SitePreferenceAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.mobile.device.site.SitePreferenceHandlerInterceptor', 'org.springframework.mobile.device.site.SitePreferenceHandlerMethodArgumentResolver' (OnClassCondition)SocialWebAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.social.connect.web.ConnectController', 'org.springframework.social.config.annotation.SocialConfigurerAdapter' (OnClassCondition)SolrAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.apache.solr.client.solrj.impl.HttpSolrClient', 'org.apache.solr.client.solrj.impl.CloudSolrClient' (OnClassCondition)SolrRepositoriesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.apache.solr.client.solrj.SolrClient', 'org.springframework.data.solr.repository.SolrRepository' (OnClassCondition)SpringApplicationAdminJmxAutoConfiguration:Did not match:- @ConditionalOnProperty (spring.application.admin.enabled=true) did not find property 'enabled' (OnPropertyCondition)SpringDataWebAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.data.web.PageableHandlerMethodArgumentResolver' (OnClassCondition)ThymeleafAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.thymeleaf.spring4.SpringTemplateEngine' (OnClassCondition)TransactionAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.transaction.PlatformTransactionManager' (OnClassCondition)TwitterAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'org.springframework.social.config.annotation.SocialConfigurerAdapter', 'org.springframework.social.twitter.connect.TwitterConnectionFactory' (OnClassCondition)WebMvcAutoConfiguration.ResourceChainCustomizerConfiguration:Did not match:- @ConditionalOnEnabledResourceChain did not find class org.webjars.WebJarAssetLocator (OnEnabledResourceChainCondition)WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#beanNameViewResolver:Did not match:- @ConditionalOnMissingBean (types: org.springframework.web.servlet.view.BeanNameViewResolver; SearchStrategy: all) found bean 'beanNameViewResolver' (OnBeanCondition)WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#dateFormatter:Did not match:- @ConditionalOnProperty (spring.mvc.date-format) did not find property 'date-format' (OnPropertyCondition)WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#localeResolver:Did not match:- @ConditionalOnProperty (spring.mvc.locale) did not find property 'locale' (OnPropertyCondition)WebServicesAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.ws.transport.http.MessageDispatcherServlet' (OnClassCondition)WebSocketAutoConfiguration.JettyWebSocketConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer' (OnClassCondition)WebSocketAutoConfiguration.UndertowWebSocketConfiguration:Did not match:- @ConditionalOnClass did not find required class 'io.undertow.websockets.jsr.Bootstrap' (OnClassCondition)WebSocketMessagingAutoConfiguration:Did not match:- @ConditionalOnClass did not find required class 'org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer' (OnClassCondition)XADataSourceAutoConfiguration:Did not match:- @ConditionalOnClass did not find required classes 'javax.transaction.TransactionManager', 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType' (OnClassCondition)

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部