天天看点

Spring-boot actuator

actuator【监控与管理】

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
           

健康指标信息:http://localhost:8080/health

{
    "status": "UP",
    "diskSpace": {
        "status": "UP",
        "total": ,
        "free": ,
        "threshold": 
    }
}
           

所有Bean:http://localhost:8080/beans

自定义信息:http://localhost:8080/info

度量指标【内存、线程、垃圾回收】:http://localhost:8080/metrics

{
    "mem": ,
    "mem.free": ,
    "processors": ,
    "instance.uptime": ,
    "uptime": ,
    "systemload.average": -,
    "heap.committed": ,
    "heap.init": ,
    "heap.used": ,
    "heap": ,
    "nonheap.committed": ,
    "nonheap.init": ,
    "nonheap.used": ,
    "nonheap": ,
    "threads.peak": ,
    "threads.daemon": ,
    "threads.totalStarted": ,
    "threads": ,
    "classes": ,
    "classes.loaded": ,
    "classes.unloaded": ,
    "gc.copy.count": ,
    "gc.copy.time": ,
    "gc.marksweepcompact.count": ,
    "gc.marksweepcompact.time": ,
    "httpsessions.max": -,
    "httpsessions.active": ,
    "gauge.response.beans": ,
    "gauge.response.mappings": ,
    "gauge.response.default": ,
    "gauge.response.env": ,
    "gauge.response.autoconfig": ,
    "gauge.response.health": ,
    "gauge.response.configprops": ,
    "gauge.response.star-star": ,
    "gauge.response.info": ,
    "gauge.response.star-star.favicon.ico": ,
    "counter.status.200.mappings": ,
    "counter.status.200.star-star.favicon.ico": ,
    "counter.status.200.beans": ,
    "counter.status.200.info": ,
    "counter.status.200.default": ,
    "counter.status.200.configprops": ,
    "counter.status.200.star-star": ,
    "counter.status.404.star-star": ,
    "counter.status.200.health": ,
    "counter.status.200.autoconfig": ,
    "counter.status.200.env": 
}
           

控制器映射关系报告:http://localhost:8080/mappings

{
    "/webjars/**": {
        "bean": "resourceHandlerMapping"
    },
    "/**": {
        "bean": "resourceHandlerMapping"
    },
    "/**/favicon.ico": {
        "bean": "faviconHandlerMapping"
    },
    "{[/default]}": {
        "bean": "requestMappingHandlerMapping",
        "method": "public java.lang.String com.cpit.demo.HelloController.layout()"
    },
    "{[/hello]}": {
        "bean": "requestMappingHandlerMapping",
        "method": "public java.lang.String com.cpit.demo.HelloController.helloJsp(java.util.Map<java.lang.String, java.lang.Object>)"
    },
    "{[/error]}": {
        "bean": "requestMappingHandlerMapping",
        "method": "public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)"
    },
    "{[/error],produces=[text/html]}": {
        "bean": "requestMappingHandlerMapping",
        "method": "public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)"
    },
    "{[/info || /info.json],methods=[GET],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    },
    "{[/env/{name:.*}],methods=[GET],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EnvironmentMvcEndpoint.value(java.lang.String)"
    },
    "{[/env || /env.json],methods=[GET],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    },
    "{[/trace || /trace.json],methods=[GET],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    },
    "{[/metrics/{name:.*}],methods=[GET],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.MetricsMvcEndpoint.value(java.lang.String)"
    },
    "{[/metrics || /metrics.json],methods=[GET],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    },
    "{[/dump || /dump.json],methods=[GET],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    },
    "{[/heapdump || /heapdump.json],methods=[GET],produces=[application/octet-stream]}": {
        "bean": "endpointHandlerMapping",
        "method": "public void org.springframework.boot.actuate.endpoint.mvc.HeapdumpMvcEndpoint.invoke(boolean,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.io.IOException,javax.servlet.ServletException"
    },
    "{[/configprops || /configprops.json],methods=[GET],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    },
    "{[/autoconfig || /autoconfig.json],methods=[GET],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    },
    "{[/health || /health.json],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(java.security.Principal)"
    },
    "{[/beans || /beans.json],methods=[GET],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    },
    "{[/mappings || /mappings.json],methods=[GET],produces=[application/json]}": {
        "bean": "endpointHandlerMapping",
        "method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
    }
}
           

环境属性报告:http://localhost:8080/env

{
    "profiles": [],
    "server.ports": {
        "local.server.port": 
    },
    "servletContextInitParams": {},
    "systemProperties": {
        "com.sun.management.jmxremote.authenticate": "false",
        "java.runtime.name": "Java(TM) SE Runtime Environment",
        "sun.boot.library.path": "D:\\Program Files\\Java\\jdk1.8.0_31\\jre\\bin",
        "java.vm.version": "25.31-b07",
        "java.vm.vendor": "Oracle Corporation",
        "java.vendor.url": "http://java.oracle.com/",
        "java.rmi.server.randomIDs": "true",
        "path.separator": ";",
        "java.vm.name": "Java HotSpot(TM) Client VM",
        "file.encoding.pkg": "sun.io",
        "user.country": "CN",
        "user.script": "",
        "sun.java.launcher": "SUN_STANDARD",
        "sun.os.patch.level": "Service Pack 3",
        "PID": "3984",
        "com.sun.management.jmxremote.port": "18714",
        "java.vm.specification.name": "Java Virtual Machine Specification",
        "user.dir": "D:\\Work_STS\\spring-boot-jsp",
        "java.runtime.version": "1.8.0_31-b13",
        "java.awt.graphicsenv": "sun.awt.Win32GraphicsEnvironment",
        "org.jboss.logging.provider": "slf4j",
        "java.endorsed.dirs": "D:\\Program Files\\Java\\jdk1.8.0_31\\jre\\lib\\endorsed",
        "os.arch": "x86",
        "java.io.tmpdir": "C:\\DOCUME~1\\LIANGZ~1\\LOCALS~1\\Temp\\",
        "line.separator": "\r\n",
        "java.vm.specification.vendor": "Oracle Corporation",
        "user.variant": "",
        "os.name": "Windows XP",
        "sun.jnu.encoding": "GBK",
        "spring.beaninfo.ignore": "true",
        "java.library.path": "",
        "java.specification.name": "Java Platform API Specification",
        "java.class.version": "52.0",
        "sun.management.compiler": "HotSpot Client Compiler",
        "spring.liveBeansView.mbeanDomain": "",
        "os.version": "5.1",
        "user.home": "C:\\Documents and Settings\\liangzhiyuan",
        "catalina.useNaming": "false",
        "user.timezone": "Asia/Shanghai",
        "java.awt.printerjob": "sun.awt.windows.WPrinterJob",
        "file.encoding": "UTF-8",
        "java.specification.version": "1.8",
        "catalina.home": "C:\\Documents and Settings\\liangzhiyuan\\Local Settings\\Temp\\tomcat.2559685787427731587.8080",
        "java.class.path": "",
        "user.name": "liangzhiyuan",
        "com.sun.management.jmxremote": "",
        "java.vm.specification.version": "1.8",
        "sun.java.command": "com.cpit.demo.App",
        "java.home": "D:\\Program Files\\Java\\jdk1.8.0_31\\jre",
        "sun.arch.data.model": "32",
        "user.language": "zh",
        "java.specification.vendor": "Oracle Corporation",
        "awt.toolkit": "sun.awt.windows.WToolkit",
        "com.sun.management.jmxremote.ssl": "false",
        "java.vm.info": "mixed mode, sharing",
        "java.version": "1.8.0_31",
        "java.ext.dirs": "",
        "java.awt.headless": "true",
        "java.vendor": "Oracle Corporation",
        "catalina.base": "C:\\Documents and Settings\\liangzhiyuan\\Local Settings\\Temp\\tomcat.2559685787427731587.8080",
        "spring.application.admin.enabled": "true",
        "file.separator": "\\",
        "java.vendor.url.bug": "http://bugreport.sun.com/bugreport/",
        "sun.io.unicode.encoding": "UnicodeLittle",
        "sun.cpu.endian": "little",
        "sun.desktop": "windows",
        "sun.cpu.isalist": "pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86"
    },
    "systemEnvironment": {
        "PROCESSOR_LEVEL": "6",
        "FP_NO_HOST_CHECK": "NO",
        "IBMLDAP_ALTHOME": "D:\\Program Files\\Rational\\common\\codeset",
        "SESSIONNAME": "Console",
        "ALLUSERSPROFILE": "C:\\Documents and Settings\\All Users.WINDOWS",
        "configPath": "uep-conf",
        "PROCESSOR_ARCHITECTURE": "x86",
        "ANDROID_HOME": "D:\\Work\\React\\android-sdk-windows",
        "SystemDrive": "C:",
        "MAVEN_HOME": "D:\\software_package\\apache-maven-3.0.4",
        "USERNAME": "liangzhiyuan",
        "USERDNSDOMAIN": "PUTIAN.COM",
        "TELELOGIC_LICENSE_FILE": "D:\\Doors\\setup\\license\\06.06\\license.dat;D:\\Doors\\setup\\license\\license.dat;;",
        "GOARCH": "386",
        "M2_REPO": "D:\\software_package\\repository",
        "PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PSC1;.groovy;.gy",
        "GOPATH": "D:\\Go\\mytest",
        "ANDROID_NDK": "D:\\ledongLogin\\android-ndk-r6",
        "TISDIR": "D:\\Program Files\\Rational\\common",
        "HOMEPATH": "\\Documents and Settings\\liangzhiyuan",
        "PROCESSOR_IDENTIFIER": "x86 Family 6 Model 23 Stepping 10, GenuineIntel",
        "ProgramFiles": "C:\\Program Files",
        "windir": "C:\\WINDOWS",
        "EXE4J_JAVA_HOME\\nto": "D:\\Program Files\\Java\\jre6",
        "=::": "::\\",
        "USERDOMAIN": "PUTIAN",
        "LOGONSERVER": "\\\\DC2",
        "JAVA_HOME": "D:\\Program Files\\Java\\jdk1.8.0_31",
        "SERVICEMIX_HOME": "D:\\apache-servicemix-5.2.0",
        "GROOVY_HOME": "d:\\Groovy\\Groovy-2.3.6",
        "APPDATA": "C:\\Documents and Settings\\liangzhiyuan\\Application Data",
        "GRADLE_USER_HOME": "D:\\React\\android-sdk-windows\\extras\\android\\m2repository",
        "ZLIB_HOME": "D:\\hadoop\\test\\build\\zlib128-dll",
        "CommonProgramFiles": "C:\\Program Files\\Common Files",
        "Path": "",
        "OS": "Windows_NT",
        "COMPUTERNAME": "LIANGZHIYUAN",
        "USER_NAME": "[email protected]",
        "PROCESSOR_REVISION": "170a",
        "CLASSPATH": "D:\\Program Files\\Rational\\ClearQuest\\cqjni.jar;",
        "GOOS": "windows",
        "ComSpec": "C:\\WINDOWS\\system32\\cmd.exe",
        "GOBIN": "D:\\Go\\bin",
        "SystemRoot": "C:\\WINDOWS",
        "TEMP": "C:\\DOCUME~1\\LIANGZ~1\\LOCALS~1\\Temp",
        "HOMEDRIVE": "C:",
        "USERPROFILE": "C:\\Documents and Settings\\liangzhiyuan",
        "TMP": "C:\\DOCUME~1\\LIANGZ~1\\LOCALS~1\\Temp",
        "IBM_JAVA_HOME": "D:\\Program Files\\Rational\\common\\java\\jre\\bin",
        "NUMBER_OF_PROCESSORS": "2",
        "CLIENTNAME": "Console"
    },
    "applicationConfig: [classpath:/application.properties]": {
        "spring.resources.static-locations": "classpath:/static/",
        "spring.mvc.view.prefix": "/WEB-INF/",
        "spring.mvc.view.suffix": ".jsp"
    },
    "refresh": {
        "spring.mustache.cache": "false",
        "spring.h2.console.enabled": "true",
        "spring.groovy.template.cache": "false",
        "spring.mvc.log-resolved-exception": "true",
        "spring.resources.cache-period": "0",
        "spring.thymeleaf.cache": "false",
        "spring.template.provider.cache": "false",
        "spring.freemarker.cache": "false",
        "spring.velocity.cache": "false",
        "server.session.persistent": "true",
        "spring.resources.chain.cache": "false"
    }
}
           

配置信息报告:http://localhost:8080/configprops

{
    "endpoints-org.springframework.boot.actuate.endpoint.EndpointProperties": {
        "prefix": "endpoints",
        "properties": {
            "enabled": true,
            "sensitive": null
        }
    },
    "management.info-org.springframework.boot.actuate.autoconfigure.InfoContributorProperties": {
        "prefix": "management.info",
        "properties": {
            "git": {
                "mode": "SIMPLE"
            }
        }
    },
    "metricsEndpoint": {
        "prefix": "endpoints.metrics",
        "properties": {
            "id": "metrics",
            "sensitive": true,
            "enabled": true
        }
    },
    "spring.jackson-org.springframework.boot.autoconfigure.jackson.JacksonProperties": {
        "prefix": "spring.jackson",
        "properties": {
            "propertyNamingStrategy": null,
            "defaultPropertyInclusion": null,
            "dateFormat": null,
            "timeZone": null,
            "locale": null,
            "serializationInclusion": null,
            "jodaDateTimeFormat": null
        }
    },
    "heapdumpMvcEndpoint": {
        "prefix": "endpoints.heapdump",
        "properties": {
            "path": "/heapdump",
            "sensitive": true,
            "enabled": true
        }
    },
    "endpoints.cors-org.springframework.boot.actuate.autoconfigure.EndpointCorsProperties": {
        "prefix": "endpoints.cors",
        "properties": {
            "allowedOrigins": [],
            "maxAge": ,
            "exposedHeaders": [],
            "allowedHeaders": [],
            "allowedMethods": [],
            "allowCredentials": null
        }
    },
    "environmentMvcEndpoint": {
        "prefix": "endpoints.env",
        "properties": {
            "path": "/env"
        }
    },
    "environmentEndpoint": {
        "prefix": "endpoints.env",
        "properties": {
            "id": "env",
            "sensitive": true,
            "enabled": true
        }
    },
    "spring.http.multipart-org.springframework.boot.autoconfigure.web.MultipartProperties": {
        "prefix": "spring.http.multipart",
        "properties": {
            "maxRequestSize": "10MB",
            "fileSizeThreshold": "0",
            "location": null,
            "maxFileSize": "1MB",
            "enabled": true,
            "resolveLazily": false
        }
    },
    "spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties": {
        "prefix": "spring.info",
        "properties": {
            "build": {
                "location": {}
            },
            "git": {
                "location": {}
            }
        }
    },
    "traceEndpoint": {
        "prefix": "endpoints.trace",
        "properties": {
            "id": "trace",
            "sensitive": true,
            "enabled": true
        }
    },
    "metricsMvcEndpoint": {
        "prefix": "endpoints.metrics",
        "properties": {
            "path": "/metrics"
        }
    },
    "infoEndpoint": {
        "prefix": "endpoints.info",
        "properties": {
            "id": "info",
            "sensitive": false,
            "enabled": true
        }
    },
    "management.trace-org.springframework.boot.actuate.trace.TraceProperties": {
        "prefix": "management.trace",
        "properties": {
            "include": [
                "COOKIES",
                "RESPONSE_HEADERS",
                "ERRORS",
                "REQUEST_HEADERS"
            ]
        }
    },
    "spring.resources-org.springframework.boot.autoconfigure.web.ResourceProperties": {
        "prefix": "spring.resources",
        "properties": {
            "cachePeriod": ,
            "addMappings": true,
            "chain": {
                "cache": false,
                "htmlApplicationCache": false,
                "gzipped": false,
                "strategy": {
                    "fixed": { "enabled": false, "paths": [ "/**" ], "version": null },
                    "content": { "enabled": false, "paths": [ "/**" ] } }
            },
            "staticLocations": [
                "classpath:/static/"
            ]
        }
    },
    "management.health.status-org.springframework.boot.actuate.autoconfigure.HealthIndicatorProperties": {
        "prefix": "management.health.status",
        "properties": {
            "order": null
        }
    },
    "healthMvcEndpoint": {
        "prefix": "endpoints.health",
        "properties": {
            "path": "/health"
        }
    },
    "serverProperties": {
        "prefix": "server",
        "properties": {
            "address": null,
            "maxHttpPostSize": ,
            "undertow": {
                "bufferSize": null,
                "buffersPerRegion": null,
                "ioThreads": null,
                "workerThreads": null,
                "directBuffers": null,
                "accesslog": {
                    "enabled": null,
                    "pattern": "common",
                    "prefix": "access_log.",
                    "suffix": "log",
                    "dir": "D:\\Work_STS\\spring-boot-jsp\\logs" }
            },
            "tomcat": {
                "accesslog": {
                    "enabled": false,
                    "pattern": "common",
                    "directory": "logs",
                    "prefix": "access_log",
                    "suffix": ".log",
                    "renameOnRotate": false,
                    "requestAttributesEnabled": false },
                "internalProxies": "",
                "protocolHeader": null,
                "protocolHeaderHttpsValue": "https",
                "portHeader": "X-Forwarded-Port",
                "remoteIpHeader": null,
                "basedir": null,
                "backgroundProcessorDelay": ,
                "maxThreads": ,
                "minSpareThreads": ,
                "maxHttpHeaderSize": ,
                "redirectContextRoot": null,
                "uriEncoding": null
            },
            "displayName": "application",
            "session": {
                "timeout": null,
                "trackingModes": null,
                "persistent": true,
                "storeDir": null,
                "cookie": {
                    "name": null,
                    "domain": null,
                    "path": null,
                    "comment": null,
                    "httpOnly": null,
                    "secure": null,
                    "maxAge": null }
            },
            "contextPath": null,
            "error": {
                "path": "/error",
                "includeStacktrace": "NEVER"
            },
            "ssl": null,
            "serverHeader": null,
            "useForwardHeaders": null,
            "port": null,
            "maxHttpHeaderSize": ,
            "servletPath": "/",
            "jspServlet": null,
            "jetty": {
                "acceptors": null,
                "selectors": null
            },
            "connectionTimeout": null
        }
    },
    "spring.metrics.export-org.springframework.boot.actuate.metrics.export.MetricExportProperties": {
        "prefix": "spring.metrics.export",
        "properties": {
            "excludes": null,
            "statsd": {
                "host": null,
                "port": ,
                "prefix": null
            },
            "includes": null,
            "enabled": true,
            "redis": {
                "prefix": "spring.metrics.application.5044db330d25e8121d21010583bc7598",
                "key": "******"
            },
            "aggregate": {
                "prefix": "application.5044db330d25e8121d21010583bc7598",
                "keyPattern": "k.d"
            }
        }
    },
    "configurationPropertiesReportEndpoint": {
        "prefix": "endpoints.configprops",
        "properties": {
            "id": "configprops",
            "sensitive": true,
            "enabled": true
        }
    },
    "healthEndpoint": {
        "prefix": "endpoints.health",
        "properties": {
            "timeToLive": ,
            "id": "health",
            "sensitive": false,
            "enabled": true
        }
    },
    "endpoints.metrics.filter-org.springframework.boot.actuate.autoconfigure.MetricFilterProperties": {
        "prefix": "endpoints.metrics.filter",
        "properties": {
            "counterSubmissions": [
                "MERGED"
            ],
            "gaugeSubmissions": [
                "MERGED"
            ]
        }
    },
    "dumpEndpoint": {
        "prefix": "endpoints.dump",
        "properties": {
            "id": "dump",
            "sensitive": true,
            "enabled": true
        }
    },
    "autoConfigurationReportEndpoint": {
        "prefix": "endpoints.autoconfig",
        "properties": {
            "id": "autoconfig",
            "sensitive": true,
            "enabled": true
        }
    },
    "endpoints.jmx-org.springframework.boot.actuate.autoconfigure.EndpointMBeanExportProperties": {
        "prefix": "endpoints.jmx",
        "properties": {
            "uniqueNames": false,
            "enabled": true,
            "domain": ""
        }
    },
    "spring.http.encoding-org.springframework.boot.autoconfigure.web.HttpEncodingProperties": {
        "prefix": "spring.http.encoding",
        "properties": {
            "charset": "UTF-8",
            "force": false,
            "mapping": null,
            "forceRequest": false,
            "forceResponse": false
        }
    },
    "shutdownEndpoint": {
        "prefix": "endpoints.shutdown",
        "properties": {
            "id": "shutdown",
            "sensitive": true,
            "enabled": false
        }
    },
    "beansEndpoint": {
        "prefix": "endpoints.beans",
        "properties": {
            "id": "beans",
            "sensitive": true,
            "enabled": true
        }
    },
    "managementServerProperties": {
        "prefix": "management",
        "properties": {
            "security": {
                "enabled": true,
                "roles": [
                    "ADMIN"
                ],
                "sessions": "STATELESS"
            },
            "address": null,
            "port": null,
            "addApplicationContextHeader": true,
            "contextPath": "",
            "ssl": null
        }
    },
    "requestMappingEndpoint": {
        "prefix": "endpoints.mappings",
        "properties": {
            "id": "mappings",
            "sensitive": true,
            "enabled": true
        }
    },
    "endpoints.health-org.springframework.boot.actuate.autoconfigure.HealthMvcEndpointProperties": {
        "prefix": "endpoints.health",
        "properties": {
            "mapping": {}
        }
    },
    "spring.devtools-org.springframework.boot.devtools.autoconfigure.DevToolsProperties": {
        "prefix": "spring.devtools",
        "properties": {
            "livereload": {
                "enabled": true,
                "port": 
            },
            "remote": {
                "contextPath": "/.~~spring-boot!~",
                "secret": null,
                "secretHeaderName": "X-AUTH-TOKEN",
                "restart": {
                    "enabled": true },
                "debug": {
                    "enabled": true,
                    "localPort":  },
                "proxy": {
                    "host": null,
                    "port": null }
            },
            "restart": {
                "enabled": true,
                "exclude": "META-INF/maven/**,META-INF/resources/**,resources/**,static/**,public/**,templates/**,**/*Test.class,**/*Tests.class,git.properties,META-INF/build-info.properties",
                "additionalExclude": null,
                "pollInterval": ,
                "quietPeriod": ,
                "triggerFile": null,
                "additionalPaths": []
            }
        }
    },
    "spring.mvc-org.springframework.boot.autoconfigure.web.WebMvcProperties": {
        "prefix": "spring.mvc",
        "properties": {
            "dateFormat": null,
            "servlet": {
                "loadOnStartup": -
            },
            "staticPathPattern": "/**",
            "dispatchOptionsRequest": true,
            "dispatchTraceRequest": false,
            "locale": null,
            "ignoreDefaultModelOnRedirect": true,
            "logResolvedException": true,
            "async": {
                "requestTimeout": null
            },
            "messageCodesResolverFormat": null,
            "mediaTypes": {},
            "view": {
                "prefix": "/WEB-INF/",
                "suffix": ".jsp"
            },
            "localeResolver": "ACCEPT_HEADER",
            "throwExceptionIfNoHandlerFound": false
        }
    },
    "diskSpaceHealthIndicatorProperties": {
        "prefix": "management.health.diskspace",
        "properties": {
            "path": "D:\\Work_STS\\spring-boot-jsp\\.",
            "threshold": 
        }
    }
}
           

自动化配置报告:http://localhost:8080/autoconfig

{
    "positiveMatches": {
        "AuditAutoConfiguration#auditListener": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.audit.listener.AbstractAuditListener; SearchStrategy: all) did not find any beans"
            }
        ],
        "AuditAutoConfiguration.AuditEventRepositoryConfiguration": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.audit.AuditEventRepository; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration#autoConfigurationReportEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport; SearchStrategy: all) found bean 'autoConfigurationReport'; @ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.AutoConfigurationReportEndpoint; SearchStrategy: current) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration#beansEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.BeansEndpoint; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration#configurationPropertiesReportEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.ConfigurationPropertiesReportEndpoint; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration#dumpEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.DumpEndpoint; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration#environmentEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.EnvironmentEndpoint; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration#healthEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.HealthEndpoint; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration#infoEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.InfoEndpoint; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration#metricsEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.MetricsEndpoint; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration#shutdownEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.ShutdownEndpoint; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration#traceEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.TraceEndpoint; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration.RequestMappingEndpointConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'org.springframework.web.servlet.handler.AbstractHandlerMethodMapping'"
            }
        ],
        "EndpointAutoConfiguration.RequestMappingEndpointConfiguration#requestMappingEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.RequestMappingEndpoint; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointMBeanExportAutoConfiguration": [
            {
                "condition": "EndpointMBeanExportAutoConfiguration.JmxEnabledCondition",
                "message": "JMX Enabled found properties spring.jmx.enabled, endpoints.jmx.enabled"
            }
        ],
        "EndpointWebMvcAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.servlet.DispatcherServlet'"
            },
            {
                "condition": "OnWebApplicationCondition",
                "message": "@ConditionalOnWebApplication (required) found StandardServletEnvironment"
            }
        ],
        "EndpointWebMvcAutoConfiguration.ApplicationContextFilterConfiguration": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (management.add-application-context-header=true) matched"
            }
        ],
        "EndpointWebMvcAutoConfiguration.EndpointWebMvcConfiguration": [
            {
                "condition": "EndpointWebMvcAutoConfiguration.OnManagementMvcCondition",
                "message": "Management Server MVC port is same"
            }
        ],
        "EndpointWebMvcManagementContextConfiguration#endpointHandlerMapping": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointWebMvcManagementContextConfiguration#environmentMvcEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.boot.actuate.endpoint.EnvironmentEndpoint; SearchStrategy: all) found bean 'environmentEndpoint'"
            },
            {
                "condition": "OnEnabledEndpointCondition",
                "message": "@ConditionalOnEnabledEndpoint All endpoints are enabled by default"
            }
        ],
        "EndpointWebMvcManagementContextConfiguration#healthMvcEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.boot.actuate.endpoint.HealthEndpoint; SearchStrategy: all) found bean 'healthEndpoint'"
            },
            {
                "condition": "OnEnabledEndpointCondition",
                "message": "@ConditionalOnEnabledEndpoint All endpoints are enabled by default"
            }
        ],
        "EndpointWebMvcManagementContextConfiguration#heapdumpMvcEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.mvc.HeapdumpMvcEndpoint; SearchStrategy: all) did not find any beans"
            },
            {
                "condition": "OnEnabledEndpointCondition",
                "message": "@ConditionalOnEnabledEndpoint All endpoints are enabled by default"
            }
        ],
        "EndpointWebMvcManagementContextConfiguration#metricsMvcEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.boot.actuate.endpoint.MetricsEndpoint; SearchStrategy: all) found bean 'metricsEndpoint'"
            },
            {
                "condition": "OnEnabledEndpointCondition",
                "message": "@ConditionalOnEnabledEndpoint All endpoints are enabled by default"
            }
        ],
        "EndpointWebMvcManagementContextConfiguration#mvcEndpoints": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.mvc.MvcEndpoints; SearchStrategy: all) did not find any beans"
            }
        ],
        "HealthIndicatorAutoConfiguration#healthAggregator": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.health.HealthAggregator; SearchStrategy: all) did not find any beans"
            }
        ],
        "HealthIndicatorAutoConfiguration.DiskSpaceHealthIndicatorConfiguration": [
            {
                "condition": "OnEnabledHealthIndicatorCondition",
                "message": "@ConditionalOnEnabledHealthIndicator management.health.defaults.enabled is considered true"
            }
        ],
        "HealthIndicatorAutoConfiguration.DiskSpaceHealthIndicatorConfiguration#diskSpaceHealthIndicator": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (names: diskSpaceHealthIndicator; SearchStrategy: all) did not find any beans"
            }
        ],
        "InfoContributorAutoConfiguration#envInfoContributor": [
            {
                "condition": "OnEnabledInfoContributorCondition",
                "message": "@ConditionalOnEnabledInfoContributor management.info.defaults.enabled is considered true"
            }
        ],
        "ManagementServerPropertiesAutoConfiguration#managementServerProperties": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.autoconfigure.ManagementServerProperties; SearchStrategy: all) did not find any beans"
            }
        ],
        "MetricExportAutoConfiguration": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.metrics.export.enabled) matched"
            }
        ],
        "MetricExportAutoConfiguration#metricWritersMetricExporter": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (names: metricWritersMetricExporter; SearchStrategy: all) did not find any beans"
            }
        ],
        "MetricExportAutoConfiguration.MetricExportPropertiesConfiguration#metricExportProperties": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.metrics.export.MetricExportProperties; SearchStrategy: all) did not find any beans"
            }
        ],
        "MetricFilterAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'javax.servlet.Servlet', 'javax.servlet.ServletRegistration', 'org.springframework.web.filter.OncePerRequestFilter', 'org.springframework.web.servlet.HandlerMapping'"
            },
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (endpoints.metrics.filter.enabled) matched"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.boot.actuate.metrics.CounterService,org.springframework.boot.actuate.metrics.GaugeService; SearchStrategy: all) found beans 'counterService', 'gaugeService'"
            }
        ],
        "MetricRepositoryAutoConfiguration.FastMetricServicesConfiguration": [
            {
                "condition": "OnJavaCondition",
                "message": "@ConditionalOnJava (1.8 or newer) found 1.8"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.metrics.GaugeService; SearchStrategy: all) did not find any beans"
            }
        ],
        "MetricRepositoryAutoConfiguration.FastMetricServicesConfiguration#actuatorMetricReader": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.metrics.buffer.BufferMetricReader; SearchStrategy: all) did not find any beans"
            }
        ],
        "MetricRepositoryAutoConfiguration.FastMetricServicesConfiguration#counterBuffers": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.metrics.buffer.CounterBuffers; SearchStrategy: all) did not find any beans"
            }
        ],
        "MetricRepositoryAutoConfiguration.FastMetricServicesConfiguration#counterService": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.metrics.CounterService; SearchStrategy: all) did not find any beans"
            }
        ],
        "MetricRepositoryAutoConfiguration.FastMetricServicesConfiguration#gaugeBuffers": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.metrics.buffer.GaugeBuffers; SearchStrategy: all) did not find any beans"
            }
        ],
        "MetricRepositoryAutoConfiguration.FastMetricServicesConfiguration#gaugeService": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.metrics.GaugeService; SearchStrategy: all) did not find any beans"
            }
        ],
        "PublicMetricsAutoConfiguration.TomcatMetricsConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.apache.catalina.startup.Tomcat'"
            },
            {
                "condition": "OnWebApplicationCondition",
                "message": "@ConditionalOnWebApplication (required) found StandardServletEnvironment"
            }
        ],
        "PublicMetricsAutoConfiguration.TomcatMetricsConfiguration#tomcatPublicMetrics": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.TomcatPublicMetrics; SearchStrategy: all) did not find any beans"
            }
        ],
        "TraceRepositoryAutoConfiguration#traceRepository": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.trace.TraceRepository; SearchStrategy: all) did not find any beans"
            }
        ],
        "TraceWebFilterAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.servlet.DispatcherServlet', 'javax.servlet.ServletRegistration'"
            }
        ],
        "TraceWebFilterAutoConfiguration#webRequestLoggingFilter": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.trace.WebRequestTraceFilter; SearchStrategy: all) did not find any beans"
            }
        ],
        "PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) did not find any beans"
            }
        ],
        "SpringApplicationAdminJmxAutoConfiguration": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.application.admin.enabled=true) matched"
            }
        ],
        "SpringApplicationAdminJmxAutoConfiguration#springApplicationAdminRegistrar": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.admin.SpringApplicationAdminMXBeanRegistrar; SearchStrategy: all) did not find any beans"
            }
        ],
        "GenericCacheConfiguration": [
            {
                "condition": "CacheCondition",
                "message": "Cache org.springframework.boot.autoconfigure.cache.GenericCacheConfiguration automatic cache type"
            }
        ],
        "NoOpCacheConfiguration": [
            {
                "condition": "CacheCondition",
                "message": "Cache org.springframework.boot.autoconfigure.cache.NoOpCacheConfiguration automatic cache type"
            }
        ],
        "RedisCacheConfiguration": [
            {
                "condition": "CacheCondition",
                "message": "Cache org.springframework.boot.autoconfigure.cache.RedisCacheConfiguration automatic cache type"
            }
        ],
        "SimpleCacheConfiguration": [
            {
                "condition": "CacheCondition",
                "message": "Cache org.springframework.boot.autoconfigure.cache.SimpleCacheConfiguration automatic cache type"
            }
        ],
        "JacksonAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'com.fasterxml.jackson.databind.ObjectMapper'"
            }
        ],
        "JacksonAutoConfiguration.Jackson2ObjectMapperBuilderCustomizerConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'com.fasterxml.jackson.databind.ObjectMapper', 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder'"
            }
        ],
        "JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'com.fasterxml.jackson.databind.ObjectMapper', 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder'"
            }
        ],
        "JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration#jacksonObjectMapperBuilder": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; SearchStrategy: all) did not find any beans"
            }
        ],
        "JacksonAutoConfiguration.JacksonObjectMapperConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'com.fasterxml.jackson.databind.ObjectMapper', 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder'"
            }
        ],
        "JacksonAutoConfiguration.JacksonObjectMapperConfiguration#jacksonObjectMapper": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) did not find any beans"
            }
        ],
        "JmxAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'org.springframework.jmx.export.MBeanExporter'"
            },
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.jmx.enabled=true) matched"
            }
        ],
        "JmxAutoConfiguration#mbeanExporter": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.jmx.export.MBeanExporter; SearchStrategy: current) did not find any beans"
            }
        ],
        "JmxAutoConfiguration#mbeanServer": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: javax.management.MBeanServer; SearchStrategy: all) did not find any beans"
            }
        ],
        "JmxAutoConfiguration#objectNamingStrategy": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.jmx.export.naming.ObjectNamingStrategy; SearchStrategy: current) did not find any beans"
            }
        ],
        "DispatcherServletAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'org.springframework.web.servlet.DispatcherServlet'"
            },
            {
                "condition": "OnWebApplicationCondition",
                "message": "@ConditionalOnWebApplication (required) found StandardServletEnvironment"
            }
        ],
        "DispatcherServletAutoConfiguration.DispatcherServletConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'javax.servlet.ServletRegistration'"
            },
            {
                "condition": "DispatcherServletAutoConfiguration.DefaultDispatcherServletCondition",
                "message": "Default DispatcherServlet did not find dispatcher servlet beans"
            }
        ],
        "DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'javax.servlet.ServletRegistration'"
            },
            {
                "condition": "DispatcherServletAutoConfiguration.DispatcherServletRegistrationCondition",
                "message": "DispatcherServlet Registration did not find servlet registration bean"
            }
        ],
        "DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration#dispatcherServletRegistration": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (names: dispatcherServlet; types: org.springframework.web.servlet.DispatcherServlet; SearchStrategy: all) found beans 'dispatcherServlet', 'dispatcherServlet'"
            }
        ],
        "EmbeddedServletContainerAutoConfiguration": [
            {
                "condition": "OnWebApplicationCondition",
                "message": "@ConditionalOnWebApplication (required) found StandardServletEnvironment"
            }
        ],
        "EmbeddedServletContainerAutoConfiguration.EmbeddedTomcat": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.apache.catalina.startup.Tomcat'"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.context.embedded.EmbeddedServletContainerFactory; SearchStrategy: current) did not find any beans"
            }
        ],
        "ErrorMvcAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.servlet.DispatcherServlet'"
            },
            {
                "condition": "OnWebApplicationCondition",
                "message": "@ConditionalOnWebApplication (required) found StandardServletEnvironment"
            }
        ],
        "ErrorMvcAutoConfiguration#basicErrorController": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ErrorController; SearchStrategy: current) did not find any beans"
            }
        ],
        "ErrorMvcAutoConfiguration#conventionErrorViewResolver": [
            {
                "condition": "OnBeanCondition",
                "message": "@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"
            }
        ],
        "ErrorMvcAutoConfiguration#errorAttributes": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ErrorAttributes; SearchStrategy: current) did not find any beans"
            }
        ],
        "ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (server.error.whitelabel.enabled) matched"
            },
            {
                "condition": "ErrorMvcAutoConfiguration.ErrorTemplateMissingCondition",
                "message": "ErrorTemplate Missing did not find error template view"
            }
        ],
        "ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration#beanNameViewResolver": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.web.servlet.view.BeanNameViewResolver; SearchStrategy: all) did not find any beans"
            }
        ],
        "ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration#defaultErrorView": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (names: error; SearchStrategy: all) did not find any beans"
            }
        ],
        "HttpEncodingAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'org.springframework.web.filter.CharacterEncodingFilter'"
            },
            {
                "condition": "OnWebApplicationCondition",
                "message": "@ConditionalOnWebApplication (required) found StandardServletEnvironment"
            },
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.http.encoding.enabled) matched"
            }
        ],
        "HttpEncodingAutoConfiguration#characterEncodingFilter": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.web.filter.CharacterEncodingFilter; SearchStrategy: all) did not find any beans"
            }
        ],
        "HttpMessageConvertersAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'org.springframework.http.converter.HttpMessageConverter'"
            }
        ],
        "HttpMessageConvertersAutoConfiguration#messageConverters": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.HttpMessageConverters; SearchStrategy: all) did not find any beans"
            }
        ],
        "HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'org.springframework.http.converter.StringHttpMessageConverter'"
            }
        ],
        "HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration#stringHttpMessageConverter": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.http.converter.StringHttpMessageConverter; SearchStrategy: all) did not find any beans"
            }
        ],
        "JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'com.fasterxml.jackson.databind.ObjectMapper'"
            },
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.http.converters.preferred-json-mapper=jackson) matched"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) found bean 'jacksonObjectMapper'"
            }
        ],
        "JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration#mappingJackson2HttpMessageConverter": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; SearchStrategy: all) did not find any beans"
            }
        ],
        "MultipartAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.multipart.support.StandardServletMultipartResolver', 'javax.servlet.MultipartConfigElement'"
            },
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.http.multipart.enabled) matched"
            }
        ],
        "MultipartAutoConfiguration#multipartConfigElement": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: javax.servlet.MultipartConfigElement; SearchStrategy: all) did not find any beans"
            }
        ],
        "MultipartAutoConfiguration#multipartResolver": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.web.multipart.MultipartResolver; SearchStrategy: all) did not find any beans"
            }
        ],
        "ServerPropertiesAutoConfiguration": [
            {
                "condition": "OnWebApplicationCondition",
                "message": "@ConditionalOnWebApplication (required) found StandardServletEnvironment"
            }
        ],
        "ServerPropertiesAutoConfiguration#serverProperties": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ServerProperties; SearchStrategy: current) did not find any beans"
            }
        ],
        "WebClientAutoConfiguration.RestTemplateConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'org.springframework.web.client.RestTemplate'"
            }
        ],
        "WebClientAutoConfiguration.RestTemplateConfiguration#restTemplateBuilder": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.web.client.RestTemplateBuilder; SearchStrategy: all) did not find any beans"
            }
        ],
        "WebMvcAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'javax.servlet.Servlet', 'org.springframework.web.servlet.DispatcherServlet', 'org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter'"
            },
            {
                "condition": "OnWebApplicationCondition",
                "message": "@ConditionalOnWebApplication (required) found StandardServletEnvironment"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; SearchStrategy: all) did not find any beans"
            }
        ],
        "WebMvcAutoConfiguration#hiddenHttpMethodFilter": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.web.filter.HiddenHttpMethodFilter; SearchStrategy: all) did not find any beans"
            }
        ],
        "WebMvcAutoConfiguration#httpPutFormContentFilter": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.mvc.formcontent.putfilter.enabled) matched"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.web.filter.HttpPutFormContentFilter; SearchStrategy: all) did not find any beans"
            }
        ],
        "WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#defaultViewResolver": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.web.servlet.view.InternalResourceViewResolver; SearchStrategy: all) did not find any beans"
            }
        ],
        "WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#requestContextFilter": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.web.context.request.RequestContextListener,org.springframework.web.filter.RequestContextFilter; SearchStrategy: all) did not find any beans"
            }
        ],
        "WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#viewResolver": [
            {
                "condition": "OnBeanCondition",
                "message": "@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"
            }
        ],
        "WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter.FaviconConfiguration": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.mvc.favicon.enabled) matched"
            }
        ],
        "WebSocketAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'javax.servlet.Servlet', 'javax.websocket.server.ServerContainer'"
            },
            {
                "condition": "OnWebApplicationCondition",
                "message": "@ConditionalOnWebApplication (required) found StandardServletEnvironment"
            }
        ],
        "WebSocketAutoConfiguration.TomcatWebSocketConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'org.apache.catalina.startup.Tomcat', 'org.apache.tomcat.websocket.server.WsSci'"
            }
        ],
        "WebSocketAutoConfiguration.TomcatWebSocketConfiguration#websocketContainerCustomizer": [
            {
                "condition": "OnJavaCondition",
                "message": "@ConditionalOnJava (1.7 or newer) found 1.8"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (names: websocketContainerCustomizer; SearchStrategy: all) did not find any beans"
            }
        ],
        "LocalDevToolsAutoConfiguration": [
            {
                "condition": "OnInitializedRestarterCondition",
                "message": "Initialized Restarter Condition available and initialized"
            }
        ],
        "LocalDevToolsAutoConfiguration.LiveReloadConfiguration": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.devtools.livereload.enabled) matched"
            }
        ],
        "LocalDevToolsAutoConfiguration.LiveReloadConfiguration#liveReloadServer": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.devtools.livereload.LiveReloadServer; SearchStrategy: all) did not find any beans"
            }
        ],
        "LocalDevToolsAutoConfiguration.RestartConfiguration": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.devtools.restart.enabled) matched"
            }
        ],
        "LocalDevToolsAutoConfiguration.RestartConfiguration#classPathFileSystemWatcher": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.devtools.classpath.ClassPathFileSystemWatcher; SearchStrategy: all) did not find any beans"
            }
        ],
        "LocalDevToolsAutoConfiguration.RestartConfiguration#classPathRestartStrategy": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.devtools.classpath.ClassPathRestartStrategy; SearchStrategy: all) did not find any beans"
            }
        ]
    },
    "negativeMatches": {
        "AuditAutoConfiguration#authenticationAuditListener": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.security.authentication.event.AbstractAuthenticationEvent'"
            }
        ],
        "AuditAutoConfiguration#authorizationAuditListener": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.security.access.event.AbstractAuthorizationEvent'"
            }
        ],
        "CacheStatisticsAutoConfiguration": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.cache.CacheManager; SearchStrategy: all) did not find any beans"
            }
        ],
        "CacheStatisticsAutoConfiguration.CaffeineCacheStatisticsProviderConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.github.benmanes.caffeine.cache.Caffeine', 'org.springframework.cache.caffeine.CaffeineCacheManager'"
            },
            {
                "condition": "ConditionEvaluationReport.AncestorsMatchedCondition",
                "message": "Ancestor org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration did not match"
            }
        ],
        "CacheStatisticsAutoConfiguration.ConcurrentMapCacheStatisticsConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'org.springframework.cache.concurrent.ConcurrentMapCache'"
            },
            {
                "condition": "ConditionEvaluationReport.AncestorsMatchedCondition",
                "message": "Ancestor org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration did not match"
            }
        ],
        "CacheStatisticsAutoConfiguration.EhCacheCacheStatisticsProviderConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.cache.ehcache.EhCacheCache', 'net.sf.ehcache.Ehcache', 'net.sf.ehcache.statistics.StatisticsGateway'"
            },
            {
                "condition": "ConditionEvaluationReport.AncestorsMatchedCondition",
                "message": "Ancestor org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration did not match"
            }
        ],
        "CacheStatisticsAutoConfiguration.GuavaCacheStatisticsConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.google.common.cache.Cache', 'org.springframework.cache.guava.GuavaCache'"
            },
            {
                "condition": "ConditionEvaluationReport.AncestorsMatchedCondition",
                "message": "Ancestor org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration did not match"
            }
        ],
        "CacheStatisticsAutoConfiguration.HazelcastCacheStatisticsConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.hazelcast.core.IMap', 'com.hazelcast.spring.cache.HazelcastCache'"
            },
            {
                "condition": "ConditionEvaluationReport.AncestorsMatchedCondition",
                "message": "Ancestor org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration did not match"
            }
        ],
        "CacheStatisticsAutoConfiguration.InfinispanCacheStatisticsProviderConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.infinispan.spring.provider.SpringCache'"
            },
            {
                "condition": "ConditionEvaluationReport.AncestorsMatchedCondition",
                "message": "Ancestor org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration did not match"
            }
        ],
        "CacheStatisticsAutoConfiguration.JCacheCacheStatisticsProviderConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'javax.cache.Caching', 'org.springframework.cache.jcache.JCacheCache'"
            },
            {
                "condition": "ConditionEvaluationReport.AncestorsMatchedCondition",
                "message": "Ancestor org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration did not match"
            }
        ],
        "CacheStatisticsAutoConfiguration.NoOpCacheStatisticsConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'org.springframework.cache.support.NoOpCacheManager'"
            },
            {
                "condition": "ConditionEvaluationReport.AncestorsMatchedCondition",
                "message": "Ancestor org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration did not match"
            }
        ],
        "CrshAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.crsh.plugin.PluginLifeCycle'"
            }
        ],
        "ElasticsearchHealthIndicatorConfiguration.ElasticsearchClientHealthIndicatorConfiguration": [
            {
                "condition": "OnEnabledHealthIndicatorCondition",
                "message": "@ConditionalOnEnabledHealthIndicator management.health.defaults.enabled is considered true"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.elasticsearch.client.Client; SearchStrategy: all) did not find any beans"
            }
        ],
        "ElasticsearchHealthIndicatorConfiguration.ElasticsearchJestHealthIndicatorConfiguration": [
            {
                "condition": "OnEnabledHealthIndicatorCondition",
                "message": "@ConditionalOnEnabledHealthIndicator management.health.defaults.enabled is considered true"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: io.searchbox.client.JestClient; SearchStrategy: all) did not find any beans"
            }
        ],
        "EndpointAutoConfiguration.FlywayEndpointConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.flywaydb.core.Flyway'"
            }
        ],
        "EndpointAutoConfiguration.LiquibaseEndpointConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'liquibase.integration.spring.SpringLiquibase'"
            }
        ],
        "EndpointMBeanExportAutoConfiguration#mbeanServer": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: javax.management.MBeanServer; SearchStrategy: all) found bean 'mbeanServer'"
            }
        ],
        "EndpointWebMvcHypermediaManagementContextConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.hateoas.Link'"
            }
        ],
        "EndpointWebMvcManagementContextConfiguration#logfileMvcEndpoint": [
            {
                "condition": "EndpointWebMvcManagementContextConfiguration.LogFileCondition",
                "message": "Log File did not find logging file"
            }
        ],
        "EndpointWebMvcManagementContextConfiguration#shutdownMvcEndpoint": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.boot.actuate.endpoint.ShutdownEndpoint; SearchStrategy: all) found bean 'shutdownEndpoint'"
            },
            {
                "condition": "OnEnabledEndpointCondition",
                "message": "@ConditionalOnEnabledEndpoint (shutdown) disabled"
            }
        ],
        "HealthIndicatorAutoConfiguration#applicationHealthIndicator": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.health.HealthIndicator; SearchStrategy: all) found bean 'diskSpaceHealthIndicator'"
            }
        ],
        "HealthIndicatorAutoConfiguration.CassandraHealthIndicatorConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.data.cassandra.core.CassandraOperations', 'com.datastax.driver.core.Cluster'"
            }
        ],
        "HealthIndicatorAutoConfiguration.CouchbaseHealthIndicatorConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.data.couchbase.core.CouchbaseOperations', 'com.couchbase.client.java.Bucket'"
            }
        ],
        "HealthIndicatorAutoConfiguration.DataSourcesHealthIndicatorConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.jdbc.core.JdbcTemplate'"
            }
        ],
        "HealthIndicatorAutoConfiguration.JmsHealthIndicatorConfiguration": [
            {
                "condition": "OnEnabledHealthIndicatorCondition",
                "message": "@ConditionalOnEnabledHealthIndicator management.health.defaults.enabled is considered true"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: javax.jms.ConnectionFactory; SearchStrategy: all) did not find any beans"
            }
        ],
        "HealthIndicatorAutoConfiguration.MailHealthIndicatorConfiguration": [
            {
                "condition": "OnEnabledHealthIndicatorCondition",
                "message": "@ConditionalOnEnabledHealthIndicator management.health.defaults.enabled is considered true"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.mail.javamail.JavaMailSenderImpl; SearchStrategy: all) did not find any beans"
            }
        ],
        "HealthIndicatorAutoConfiguration.MongoHealthIndicatorConfiguration": [
            {
                "condition": "OnEnabledHealthIndicatorCondition",
                "message": "@ConditionalOnEnabledHealthIndicator management.health.defaults.enabled is considered true"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.data.mongodb.core.MongoTemplate; SearchStrategy: all) did not find any beans"
            }
        ],
        "HealthIndicatorAutoConfiguration.RabbitHealthIndicatorConfiguration": [
            {
                "condition": "OnEnabledHealthIndicatorCondition",
                "message": "@ConditionalOnEnabledHealthIndicator management.health.defaults.enabled is considered true"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.amqp.rabbit.core.RabbitTemplate; SearchStrategy: all) did not find any beans"
            }
        ],
        "HealthIndicatorAutoConfiguration.RedisHealthIndicatorConfiguration": [
            {
                "condition": "OnEnabledHealthIndicatorCondition",
                "message": "@ConditionalOnEnabledHealthIndicator management.health.defaults.enabled is considered true"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.data.redis.connection.RedisConnectionFactory; SearchStrategy: all) did not find any beans"
            }
        ],
        "HealthIndicatorAutoConfiguration.SolrHealthIndicatorConfiguration": [
            {
                "condition": "OnEnabledHealthIndicatorCondition",
                "message": "@ConditionalOnEnabledHealthIndicator management.health.defaults.enabled is considered true"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.apache.solr.client.solrj.SolrClient; SearchStrategy: all) did not find any beans"
            }
        ],
        "InfoContributorAutoConfiguration#buildInfoContributor": [
            {
                "condition": "OnEnabledInfoContributorCondition",
                "message": "@ConditionalOnEnabledInfoContributor management.info.defaults.enabled is considered true"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnSingleCandidate (types: org.springframework.boot.info.BuildProperties; SearchStrategy: all) did not find any beans"
            }
        ],
        "InfoContributorAutoConfiguration#gitInfoContributor": [
            {
                "condition": "OnEnabledInfoContributorCondition",
                "message": "@ConditionalOnEnabledInfoContributor management.info.defaults.enabled is considered true"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnSingleCandidate (types: org.springframework.boot.info.GitProperties; SearchStrategy: all) did not find any beans"
            }
        ],
        "JolokiaAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.jolokia.http.AgentServlet'"
            }
        ],
        "ManagementServerPropertiesAutoConfiguration#securityProperties": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity'"
            }
        ],
        "ManagementServerPropertiesAutoConfiguration#serverProperties": [
            {
                "condition": "OnWebApplicationCondition",
                "message": "@ConditionalOnWebApplication (required) found StandardServletEnvironment"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ServerProperties; SearchStrategy: all) found bean 'serverProperties'"
            }
        ],
        "ManagementWebSecurityAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity'"
            }
        ],
        "MetricExportAutoConfiguration.StatsdConfiguration#statsdMetricWriter": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.metrics.export.statsd.host) did not find property 'host'"
            }
        ],
        "MetricRepositoryAutoConfiguration.LegacyMetricRepositoryConfiguration": [
            {
                "condition": "OnJavaCondition",
                "message": "@ConditionalOnJava (older than 1.8) found 1.8"
            }
        ],
        "MetricRepositoryAutoConfiguration.LegacyMetricServicesConfiguration": [
            {
                "condition": "OnJavaCondition",
                "message": "@ConditionalOnJava (older than 1.8) found 1.8"
            }
        ],
        "MetricsChannelAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.messaging.MessageChannel'"
            }
        ],
        "MetricsDropwizardAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'com.codahale.metrics.MetricRegistry'"
            }
        ],
        "PublicMetricsAutoConfiguration#richGaugePublicMetrics": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.boot.actuate.metrics.rich.RichGaugeReader; SearchStrategy: all) did not find any beans"
            }
        ],
        "PublicMetricsAutoConfiguration.CacheStatisticsConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'org.springframework.cache.CacheManager'"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.cache.CacheManager; SearchStrategy: all) did not find any beans"
            }
        ],
        "PublicMetricsAutoConfiguration.DataSourceMetricsConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'javax.sql.DataSource'"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: javax.sql.DataSource; SearchStrategy: all) did not find any beans"
            }
        ],
        "PublicMetricsAutoConfiguration.IntegrationMetricsConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.integration.monitor.IntegrationMBeanExporter'"
            }
        ],
        "MessageSourceAutoConfiguration": [
            {
                "condition": "MessageSourceAutoConfiguration.ResourceBundleCondition",
                "message": "ResourceBundle did not find bundle with basename messages"
            }
        ],
        "RabbitAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.amqp.rabbit.core.RabbitTemplate', 'com.rabbitmq.client.Channel'"
            }
        ],
        "AopAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.aspectj.lang.annotation.Aspect', 'org.aspectj.lang.reflect.Advice'"
            }
        ],
        "BatchAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.batch.core.launch.JobLauncher', 'org.springframework.jdbc.core.JdbcOperations'"
            }
        ],
        "CacheAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required class 'org.springframework.cache.CacheManager'"
            },
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.cache.interceptor.CacheAspectSupport; SearchStrategy: all) did not find any beans"
            }
        ],
        "CacheAutoConfiguration.CacheManagerJpaDependencyConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean'"
            },
            {
                "condition": "ConditionEvaluationReport.AncestorsMatchedCondition",
                "message": "Ancestor org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration did not match"
            }
        ],
        "CaffeineCacheConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.github.benmanes.caffeine.cache.Caffeine', 'org.springframework.cache.caffeine.CaffeineCacheManager'"
            }
        ],
        "CouchbaseCacheConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.couchbase.client.java.Bucket', 'com.couchbase.client.spring.cache.CouchbaseCacheManager'"
            }
        ],
        "EhCacheCacheConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'net.sf.ehcache.Cache', 'org.springframework.cache.ehcache.EhCacheCacheManager'"
            }
        ],
        "GuavaCacheConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.google.common.cache.CacheBuilder', 'org.springframework.cache.guava.GuavaCacheManager'"
            }
        ],
        "HazelcastCacheConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.hazelcast.core.HazelcastInstance', 'com.hazelcast.spring.cache.HazelcastCacheManager'"
            }
        ],
        "InfinispanCacheConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.infinispan.spring.provider.SpringEmbeddedCacheManager'"
            }
        ],
        "JCacheCacheConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'javax.cache.Caching', 'org.springframework.cache.jcache.JCacheCacheManager'"
            }
        ],
        "CassandraAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'com.datastax.driver.core.Cluster'"
            }
        ],
        "CloudAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.cloud.config.java.CloudScanConfiguration'"
            }
        ],
        "CouchbaseAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.couchbase.client.java.CouchbaseBucket', 'com.couchbase.client.java.Cluster'"
            }
        ],
        "PersistenceExceptionTranslationAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor'"
            }
        ],
        "CassandraDataAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.datastax.driver.core.Cluster', 'org.springframework.data.cassandra.core.CassandraAdminOperations'"
            }
        ],
        "CassandraRepositoriesAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.datastax.driver.core.Session', 'org.springframework.data.cassandra.repository.CassandraRepository'"
            }
        ],
        "CouchbaseDataAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.couchbase.client.java.Bucket', 'org.springframework.data.couchbase.repository.CouchbaseRepository'"
            }
        ],
        "CouchbaseRepositoriesAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.couchbase.client.java.Bucket', 'org.springframework.data.couchbase.repository.CouchbaseRepository'"
            }
        ],
        "ElasticsearchAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.elasticsearch.client.Client', 'org.springframework.data.elasticsearch.client.TransportClientFactoryBean', 'org.springframework.data.elasticsearch.client.NodeClientFactoryBean'"
            }
        ],
        "ElasticsearchDataAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.elasticsearch.client.Client', 'org.springframework.data.elasticsearch.core.ElasticsearchTemplate'"
            }
        ],
        "ElasticsearchRepositoriesAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.elasticsearch.client.Client', 'org.springframework.data.elasticsearch.repository.ElasticsearchRepository'"
            }
        ],
        "JpaRepositoriesAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.data.jpa.repository.JpaRepository'"
            }
        ],
        "MongoDataAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.mongodb.Mongo', 'org.springframework.data.mongodb.core.MongoTemplate'"
            }
        ],
        "MongoRepositoriesAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.mongodb.Mongo', 'org.springframework.data.mongodb.repository.MongoRepository'"
            }
        ],
        "Neo4jDataAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.neo4j.ogm.session.Neo4jSession', 'org.springframework.data.neo4j.template.Neo4jOperations'"
            }
        ],
        "Neo4jRepositoriesAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.neo4j.ogm.session.Neo4jSession', 'org.springframework.data.neo4j.repository.GraphRepository'"
            }
        ],
        "RedisAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.data.redis.connection.jedis.JedisConnection', 'org.springframework.data.redis.core.RedisOperations', 'redis.clients.jedis.Jedis'"
            }
        ],
        "RedisRepositoriesAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'redis.clients.jedis.Jedis', 'org.springframework.data.redis.repository.configuration.EnableRedisRepositories'"
            }
        ],
        "RepositoryRestMvcAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration'"
            }
        ],
        "SolrRepositoriesAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.apache.solr.client.solrj.SolrClient', 'org.springframework.data.solr.repository.SolrRepository'"
            }
        ],
        "SpringDataWebAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.data.web.PageableHandlerMethodArgumentResolver'"
            }
        ],
        "JestAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'io.searchbox.client.JestClient'"
            }
        ],
        "FlywayAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.flywaydb.core.Flyway'"
            }
        ],
        "FreeMarkerAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'freemarker.template.Configuration', 'org.springframework.ui.freemarker.FreeMarkerConfigurationFactory'"
            }
        ],
        "GroovyTemplateAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'groovy.text.markup.MarkupTemplateEngine'"
            }
        ],
        "GsonAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'com.google.gson.Gson'"
            }
        ],
        "H2ConsoleAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.h2.server.web.WebServlet'"
            }
        ],
        "HypermediaAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.hateoas.Resource', 'org.springframework.plugin.core.Plugin'"
            }
        ],
        "HazelcastAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'com.hazelcast.core.HazelcastInstance'"
            }
        ],
        "HazelcastJpaDependencyAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.hazelcast.core.HazelcastInstance', 'org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean'"
            }
        ],
        "ProjectInfoAutoConfiguration#buildProperties": [
            {
                "condition": "OnResourceCondition",
                "message": "@ConditionalOnResource did not find resource '${spring.info.build.location:classpath:META-INF/build-info.properties}'"
            }
        ],
        "ProjectInfoAutoConfiguration#gitProperties": [
            {
                "condition": "ProjectInfoAutoConfiguration.GitResourceAvailableCondition",
                "message": "GitResource did not find git info at classpath:git.properties"
            }
        ],
        "IntegrationAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.integration.config.EnableIntegration'"
            }
        ],
        "JacksonAutoConfiguration.JodaDateTimeJacksonConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.joda.time.DateTime', 'com.fasterxml.jackson.datatype.joda.ser.DateTimeSerializer', 'com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat'"
            }
        ],
        "JacksonAutoConfiguration.ParameterNamesModuleConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'com.fasterxml.jackson.module.paramnames.ParameterNamesModule'"
            }
        ],
        "DataSourceAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType'"
            }
        ],
        "DataSourceTransactionManagerAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.jdbc.core.JdbcTemplate', 'org.springframework.transaction.PlatformTransactionManager'"
            }
        ],
        "JdbcTemplateAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.jdbc.core.JdbcTemplate'"
            }
        ],
        "JndiDataSourceAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType'"
            }
        ],
        "XADataSourceAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'javax.transaction.TransactionManager', 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType'"
            }
        ],
        "JerseyAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.glassfish.jersey.server.spring.SpringComponentProvider'"
            }
        ],
        "JmsAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.jms.core.JmsTemplate'"
            }
        ],
        "JndiConnectionFactoryAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.jms.core.JmsTemplate'"
            }
        ],
        "ActiveMQAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'javax.jms.ConnectionFactory', 'org.apache.activemq.ActiveMQConnectionFactory'"
            }
        ],
        "ArtemisAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'javax.jms.ConnectionFactory', 'org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory'"
            }
        ],
        "HornetQAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'javax.jms.ConnectionFactory', 'org.hornetq.api.jms.HornetQJMSClient'"
            }
        ],
        "JooqAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.jooq.DSLContext'"
            }
        ],
        "LiquibaseAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'liquibase.integration.spring.SpringLiquibase'"
            }
        ],
        "MailSenderAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'javax.mail.internet.MimeMessage'"
            }
        ],
        "MailSenderValidatorAutoConfiguration": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.mail.test-connection) did not find property 'test-connection'"
            }
        ],
        "DeviceDelegatingViewResolverAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.mobile.device.view.LiteDeviceDelegatingViewResolver'"
            }
        ],
        "DeviceResolverAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.mobile.device.DeviceResolverHandlerInterceptor', 'org.springframework.mobile.device.DeviceHandlerMethodArgumentResolver'"
            }
        ],
        "SitePreferenceAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.mobile.device.site.SitePreferenceHandlerInterceptor', 'org.springframework.mobile.device.site.SitePreferenceHandlerMethodArgumentResolver'"
            }
        ],
        "MongoAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'com.mongodb.MongoClient'"
            }
        ],
        "EmbeddedMongoAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'com.mongodb.Mongo', 'de.flapdoodle.embed.mongo.MongodStarter'"
            }
        ],
        "MustacheAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'com.samskivert.mustache.Mustache'"
            }
        ],
        "HibernateJpaAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean', 'org.springframework.transaction.annotation.EnableTransactionManagement', 'javax.persistence.EntityManager'"
            }
        ],
        "ReactorAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'reactor.spring.context.config.EnableReactor', 'reactor.Environment'"
            }
        ],
        "FallbackWebSecurityAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity'"
            }
        ],
        "SecurityAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.security.authentication.AuthenticationManager', 'org.springframework.security.config.annotation.authentication.configurers.GlobalAuthenticationConfigurerAdapter'"
            }
        ],
        "SecurityFilterAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer', 'org.springframework.security.config.http.SessionCreationPolicy'"
            }
        ],
        "OAuth2AutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.security.oauth2.common.OAuth2AccessToken'"
            }
        ],
        "SendGridAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'com.sendgrid.SendGrid'"
            }
        ],
        "SessionAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.session.Session'"
            }
        ],
        "FacebookAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.social.config.annotation.SocialConfigurerAdapter', 'org.springframework.social.facebook.connect.FacebookConnectionFactory'"
            }
        ],
        "LinkedInAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.social.config.annotation.SocialConfigurerAdapter', 'org.springframework.social.linkedin.connect.LinkedInConnectionFactory'"
            }
        ],
        "SocialWebAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.social.connect.web.ConnectController', 'org.springframework.social.config.annotation.SocialConfigurerAdapter'"
            }
        ],
        "TwitterAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.social.config.annotation.SocialConfigurerAdapter', 'org.springframework.social.twitter.connect.TwitterConnectionFactory'"
            }
        ],
        "SolrAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.apache.solr.client.solrj.impl.HttpSolrClient', 'org.apache.solr.client.solrj.impl.CloudSolrClient'"
            }
        ],
        "ThymeleafAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.thymeleaf.spring4.SpringTemplateEngine'"
            }
        ],
        "TransactionAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.springframework.transaction.support.TransactionTemplate', 'org.springframework.transaction.PlatformTransactionManager'"
            }
        ],
        "JtaAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'javax.transaction.Transaction'"
            }
        ],
        "VelocityAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.apache.velocity.app.VelocityEngine', 'org.springframework.ui.velocity.VelocityEngineFactory'"
            }
        ],
        "DispatcherServletAutoConfiguration.DispatcherServletConfiguration#multipartResolver": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnBean (types: org.springframework.web.multipart.MultipartResolver; SearchStrategy: all) did not find any beans"
            }
        ],
        "EmbeddedServletContainerAutoConfiguration.EmbeddedJetty": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'org.eclipse.jetty.server.Server', 'org.eclipse.jetty.util.Loader', 'org.eclipse.jetty.webapp.WebAppContext'"
            }
        ],
        "EmbeddedServletContainerAutoConfiguration.EmbeddedUndertow": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required classes 'io.undertow.Undertow', 'org.xnio.SslClientAuthMode'"
            }
        ],
        "GsonHttpMessageConvertersConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'com.google.gson.Gson'"
            }
        ],
        "JacksonHttpMessageConvertersConfiguration.MappingJackson2XmlHttpMessageConverterConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'com.fasterxml.jackson.dataformat.xml.XmlMapper'"
            }
        ],
        "WebMvcAutoConfiguration.ResourceChainCustomizerConfiguration": [
            {
                "condition": "OnEnabledResourceChainCondition",
                "message": "@ConditionalOnEnabledResourceChain did not find class org.webjars.WebJarAssetLocator"
            }
        ],
        "WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#beanNameViewResolver": [
            {
                "condition": "OnBeanCondition",
                "message": "@ConditionalOnMissingBean (types: org.springframework.web.servlet.view.BeanNameViewResolver; SearchStrategy: all) found bean 'beanNameViewResolver'"
            }
        ],
        "WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#dateFormatter": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.mvc.date-format) did not find property 'date-format'"
            }
        ],
        "WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#localeResolver": [
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.mvc.locale) did not find property 'locale'"
            }
        ],
        "WebServicesAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.ws.transport.http.MessageDispatcherServlet'"
            }
        ],
        "WebSocketAutoConfiguration.JettyWebSocketConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer'"
            }
        ],
        "WebSocketAutoConfiguration.UndertowWebSocketConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'io.undertow.websockets.jsr.Bootstrap'"
            }
        ],
        "WebSocketMessagingAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer'"
            }
        ],
        "DevToolsDataSourceAutoConfiguration": [
            {
                "condition": "DevToolsDataSourceAutoConfiguration.DevToolsDataSourceCondition",
                "message": "DevTools DataSource Condition did not find a single DataSource bean"
            }
        ],
        "DevToolsDataSourceAutoConfiguration.DatabaseShutdownExecutorJpaDependencyConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass did not find required class 'org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean'"
            },
            {
                "condition": "ConditionEvaluationReport.AncestorsMatchedCondition",
                "message": "Ancestor org.springframework.boot.devtools.autoconfigure.DevToolsDataSourceAutoConfiguration did not match"
            }
        ],
        "RemoteDevToolsAutoConfiguration": [
            {
                "condition": "OnClassCondition",
                "message": "@ConditionalOnClass found required classes 'javax.servlet.Filter', 'org.springframework.http.server.ServerHttpRequest'"
            },
            {
                "condition": "OnPropertyCondition",
                "message": "@ConditionalOnProperty (spring.devtools.remote.secret) did not find property 'secret'"
            }
        ]
    }
}
           

继续阅读