• 理解spring boot


    搭建SpringBoots项目
    1、创建一个quickStart的maven项目
    2、添加springbootparent或使用import范围引入版本依赖
    3、添加spring-boot-starter-web依赖
    4、添加@RestController后,spring就知道我们不使用jsp等视图,会自动把项目配置为RESTful应用。
    a、省略了MVC的配置
    b、如果不使用@RestController,使用Controller,项目可以正常启动,但访问时会报404错误


    分析spring boot注解

    1、观察@SpringBootApplication注解的源码,它组合了@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan,在老的版本里,不是@SpringBootConfiguration,而是@Configuration。
    2、@EnableAutoConfiguration让Spring Boot根据类路径下的jar包依赖为项目进行自动配置。如,当我们只添加了一个依赖——spring-boot-starter-web后,SpringBoot会自动添加Tomcat和SpringMVC的依赖,并对Tomcat和SpringMVC进行自动配置。
    3、@ComponentScan,扫描同级包和下级包里的Bean,所以入口类要放在最外层。


    关闭SpringBoot的某个自动配置

    使用@SpringBootApplication的exclude参数,如
    @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})


    application配置文件

    SpringBoot使用一个放置在src/main/resources或类路径/config下的全局配置文件application.properties或application.yml,可简单配置如下:

    # 默认为8080
    server.port=90
    #默认为斜杠"/"
    server.context-path=/hello

     配置规范:在Spring Boot中,context-path、contextPath、CONTEXT_PATH、context-path都是可以的。但是contextpath不行,在两个单词中一定要有表示间隔的方式,可以是驼峰,可以是“_”,可以是“-”。


    自动配置

    使用了starter,添加了@SpringBootApplication也就添加了@EnableAutoConfiguration,开启了相关的技术配置就不需要我们配置。有很多starter:

    spring-boot-starter-amqb
    spring-boot-starter-aop
    spring-boot-starter-cache
    spring-boot-starter-cloud-connectors
    spring-boot-starter-jpa
    spring-boot-starter-mongodb
    spring-boot-starter-rest
    spring-boot-starter-freemarker
    spring-boot-starter-jdbc
    spring-boot-starter-mail
    spring-boot-starter-redis
    spring-boot-starter-security
    spring-boot-starter-thymeleaf
    spring-boot-starter-web
    spring-boot-starter-tomcat
    spring-boot-starter-jetty
    spring-boot-starter-logging
    spring-boot-starter-log4j
    spring-boot-starter-websocket
    View Code

     一个添加了spring-boot-starter-web的应用默认会使用自带的tomcat,如果想使用jetty,只需要添加spring-boot-starter-jetty即可。


     java配置

    Spring Boot 的java配置类直接写就可以,因为最外层的入口类已经暗含了包扫描注解,所以会扫描到我们添加了@Configuration(@Configuration又包含@Component)、@Controller、@Service的类。


    xml配置

    Spring Boot 提倡零配置,即无xml配置。但如果需要xml配置,使用Spring的@ImportResource 来加载即可。


    自定义属性文件

    Spring Boot 可以使用@PropertySource("classpath:xxx.properties")来导入自定义的属性文件。


     注入属性文件的值

    1、在Spring下,注入properties文件里的值,通过@PropertySource指明properties文件的位置,然后通过@Value注入值。在Spring Boot里,只需要在application.properties定义属性,直接使用@Value注入。
    2、在spring Boot里,还可以省略@Value,示例:
    (1)application.properties内容:

    my.nmae=zs
    my.age=30

     (2)应该使用@Val的类:

    @ConfigurationProperties(prefix = "my")
    public class FirstSpringBootApplication {
        private String name;
        private int age;
        public String getName() { return name; }
        public void setName(String name) { this.name = name; }
        public int getAge() { return age; }
        public void setAge(int age) { this.age = age; }
    }
    View Code

    Spring Boots 配置profile

    1、添加形如application-{xxx}.properties,如添加
    application-dev.properties
    application-pro.properties
    2、在application.properties文件里指定默认的profile
    spring.profiles.active=pro


    查看Spring Boots已经自动配置的内容
    1、在application.properties文件添加:debug=true
    2、启动项目,查看控制台

    自动配置的内容为:
    =========================
    AUTO-CONFIGURATION REPORT
    =========================
    
    
    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.EmbeddedJetty matched:
    - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.eclipse.jetty.server.Server', 'org.eclipse.jetty.util.Loader', 'org.eclipse.jetty.webapp.WebAppContext'; @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.JettyWebSocketConfiguration matched:
    - @ConditionalOnClass found required class 'org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)
    
    WebSocketAutoConfiguration.JettyWebSocketConfiguration#websocketContainerCustomizer matched:
    - @ConditionalOnMissingBean (names: websocketContainerCustomizer; SearchStrategy: all) did not find any beans (OnBeanCondition)
    
    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)
    
    
    未启用的自动配置有:
    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.Mongo', 'de.flapdoodle.embed.mongo.MongodStarter' (OnClassCondition)
    
    EmbeddedServletContainerAutoConfiguration.EmbeddedTomcat:
    Did not match:
    - @ConditionalOnMissingBean (types: org.springframework.boot.context.embedded.EmbeddedServletContainerFactory; SearchStrategy: current) found bean 'jettyEmbeddedServletContainerFactory' (OnBeanCondition)
    Matched:
    - @ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.apache.catalina.startup.Tomcat'; @ConditionalOnMissingClass did not find unwanted class (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.Mongo', 'org.springframework.data.mongodb.core.MongoTemplate' (OnClassCondition)
    
    MongoRepositoriesAutoConfiguration:
    Did not match:
    - @ConditionalOnClass did not find required classes 'com.mongodb.Mongo', '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.TomcatWebSocketConfiguration#websocketContainerCustomizer:
    Did not match:
    - @ConditionalOnMissingBean (names: websocketContainerCustomizer; SearchStrategy: all) found bean 'websocketContainerCustomizer' (OnBeanCondition)
    Matched:
    - @ConditionalOnJava (1.7 or newer) found 1.8 (OnJavaCondition)
    
    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)
    View Code
  • 相关阅读:
    .NET WinForm 状态栏添加分隔符
    使用 MMC / IE 查看证书
    配置IIS在64位Windows上运行 32 位 ASP.NET 应用程序
    WCF部署到IIS:证书必须具有能够进行密钥交换的私钥,该进程必须具有访问私钥的权限
    PB6 调用 .net Web Service
    .NET程序加壳 — 之动态加载程序集
    statusStrip 状态条 toolStripStatusLabel 居右显示
    C# 使用 Stopwatch 测量代码运行时间
    Application_Start 事件中使用 Response.Redirect
    解决IIS中部署WCF时,访问.svc文件的404错误问题
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/12870837.html
Copyright © 2020-2023  润新知