其他分享
首页 > 其他分享> > @SpringBootApplication核心原理(中)

@SpringBootApplication核心原理(中)

作者:互联网

@SpringBootApplication核心原理(中)

在上一章节,我们对@SpringBootApplication核心原理的一些核心设计做了简要分析,并对SpringBoot如何实现自动装配的设计做了简要说明,本章将继续对@SpringBootApplication的核心原理做详细介绍,并会对一部分源码做简要介绍,回到上个章节,笔者提出的问题:我们可以看到这里面有很多的配置信息,那么我们是所有的东西都要添加吗?答案肯定是否定的,因为如果所有的东西都直接用上,这会导致SpringBoot包含的类十分庞大且也没有必要,因此SpringBoot又是如何解决这个问题的呢?接下来会介绍一个注解@ConditionalOnClass

@ConditionalOnClass

可能读者没有听过这个注解,这也没有关系,我们就一起来认识一下这个注解,这是一个条件判断注解,目的为了解决我上面提出的问题,解决SpringBoot认为我们需要的Bean,然后进行自动装配,我们现在写一个Demo。新建一个转换器接口,在定义两个转换器类:

package com.example.boot02.format;public interface FormatProcessor {    <T> String format();}
package com.example.boot02.format;public class JsonFormatProcessor implements FormatProcessor{    @Override    public <T> String format() {        return "JsonFormatProcessor";    }}
package com.example.boot02.format;import java.util.Objects;public class StringFormatProcessor implements FormatProcessor{    @Override    public <T> String format() {        return "StringFormatProcessor";    }}

然后再写一个配置类

package com.example.boot02.autoconfiguration;import com.example.boot02.format.FormatProcessor;import com.example.boot02.format.JsonFormatProcessor;import com.example.boot02.format.StringFormatProcessor;import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import org.springframework.stereotype.Component;@Componentpublic class FormatAutoConfiguration {    @ConditionalOnMissingClass("com.alibaba.fastjson.JSON")    @Bean    public FormatProcessor stringFormat(){        System.out.println("stringFormat");        return new StringFormatProcessor();    }    @ConditionalOnClass(name = "com.alibaba.fastjson.JSON")    @Bean    public FormatProcessor jsonFormat(){        System.out.println("jsonFormat");        return new JsonFormatProcessor();    }}

最后再添加Spring.factories

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\  com.example.boot02.autoconfiguration.FormatAutoConfiguration

然后我们打包在配置到boot1下面,再在pom文件下添加

  <dependency>            <groupId>com.example</groupId>            <artifactId>boot02</artifactId>            <version>0.0.1-SNAPSHOT</version>        </dependency>

然后测试执行,我们先测试存在fastjson的类,可以看到这里打印出了jsonFormat

"C:\Program Files\Java\jdk1.8.0_201\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2018.3.5\lib\idea_rt.jar=52611:C:\Program Files\JetBrains\IntelliJ IDEA 2018.3.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_201\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\rt.jar;C:\Users\HP\IdeaProjects\Spring\boot01\target\classes;C:\Users\HP\.m2\repository\org\springframework\boot\spring-boot-starter\2.4.1\spring-boot-starter-2.4.1.jar;C:\Users\HP\.m2\repository\org\springframework\boot\spring-boot\2.4.1\spring-boot-2.4.1.jar;C:\Users\HP\.m2\repository\org\springframework\spring-context\5.3.2\spring-context-5.3.2.jar;C:\Users\HP\.m2\repository\org\springframework\spring-aop\5.3.2\spring-aop-5.3.2.jar;C:\Users\HP\.m2\repository\org\springframework\spring-beans\5.3.2\spring-beans-5.3.2.jar;C:\Users\HP\.m2\repository\org\springframework\spring-expression\5.3.2\spring-expression-5.3.2.jar;C:\Users\HP\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.4.1\spring-boot-autoconfigure-2.4.1.jar;C:\Users\HP\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.4.1\spring-boot-starter-logging-2.4.1.jar;C:\Users\HP\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\HP\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\HP\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.13.3\log4j-to-slf4j-2.13.3.jar;C:\Users\HP\.m2\repository\org\apache\logging\log4j\log4j-api\2.13.3\log4j-api-2.13.3.jar;C:\Users\HP\.m2\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;C:\Users\HP\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\HP\.m2\repository\org\springframework\spring-core\5.3.2\spring-core-5.3.2.jar;C:\Users\HP\.m2\repository\org\springframework\spring-jcl\5.3.2\spring-jcl-5.3.2.jar;C:\Users\HP\.m2\repository\org\yaml\snakeyaml\1.27\snakeyaml-1.27.jar;C:\Users\HP\IdeaProjects\Spring\boot02\target\classes;C:\Users\HP\.m2\repository\com\alibaba\fastjson\1.2.56\fastjson-1.2.56.jar;C:\Users\HP\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar" com.example.boot01.Boot01Application  .   ____          _            __ _ _ /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/  ___)| |_)| | | | | || (_| |  ) ) ) )  '  |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot ::                (v2.4.1)2020-12-23 10:55:44.242  INFO 3784 --- [           main] com.example.boot01.Boot01Application     : Starting Boot01Application using Java 1.8.0_201 on HP-PC with PID 3784 (C:\Users\HP\IdeaProjects\Spring\boot01\target\classes started by HP in C:\Users\HP\IdeaProjects\Spring)2020-12-23 10:55:44.244  INFO 3784 --- [           main] com.example.boot01.Boot01Application     : No active profile set, falling back to default profiles: defaultjsonFormat2020-12-23 10:55:44.603  INFO 3784 --- [           main] com.example.boot01.Boot01Application     : Started Boot01Application in 0.586 seconds (JVM running for 0.988)com.example.boot02.autoconfiguration.FormatAutoConfiguration$$EnhancerBySpringCGLIB$$8dc8ab61@528c868Process finished with exit code 0

当我们取消fastjson的依赖

我们在执行

"C:\Program Files\Java\jdk1.8.0_201\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2018.3.5\lib\idea_rt.jar=56660:C:\Program Files\JetBrains\IntelliJ IDEA 2018.3.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_201\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\rt.jar;C:\Users\HP\IdeaProjects\Spring\boot01\target\classes;C:\Users\HP\.m2\repository\org\springframework\boot\spring-boot-starter\2.4.1\spring-boot-starter-2.4.1.jar;C:\Users\HP\.m2\repository\org\springframework\boot\spring-boot\2.4.1\spring-boot-2.4.1.jar;C:\Users\HP\.m2\repository\org\springframework\spring-context\5.3.2\spring-context-5.3.2.jar;C:\Users\HP\.m2\repository\org\springframework\spring-aop\5.3.2\spring-aop-5.3.2.jar;C:\Users\HP\.m2\repository\org\springframework\spring-beans\5.3.2\spring-beans-5.3.2.jar;C:\Users\HP\.m2\repository\org\springframework\spring-expression\5.3.2\spring-expression-5.3.2.jar;C:\Users\HP\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.4.1\spring-boot-autoconfigure-2.4.1.jar;C:\Users\HP\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.4.1\spring-boot-starter-logging-2.4.1.jar;C:\Users\HP\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\HP\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\HP\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.13.3\log4j-to-slf4j-2.13.3.jar;C:\Users\HP\.m2\repository\org\apache\logging\log4j\log4j-api\2.13.3\log4j-api-2.13.3.jar;C:\Users\HP\.m2\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;C:\Users\HP\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\HP\.m2\repository\org\springframework\spring-core\5.3.2\spring-core-5.3.2.jar;C:\Users\HP\.m2\repository\org\springframework\spring-jcl\5.3.2\spring-jcl-5.3.2.jar;C:\Users\HP\.m2\repository\org\yaml\snakeyaml\1.27\snakeyaml-1.27.jar;C:\Users\HP\IdeaProjects\Spring\boot02\target\classes;C:\Users\HP\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar" com.example.boot01.Boot01Application  .   ____          _            __ _ _ /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/  ___)| |_)| | | | | || (_| |  ) ) ) )  '  |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot ::                (v2.4.1)2020-12-23 11:55:42.919  INFO 5892 --- [           main] com.example.boot01.Boot01Application     : Starting Boot01Application using Java 1.8.0_201 on HP-PC with PID 5892 (C:\Users\HP\IdeaProjects\Spring\boot01\target\classes started by HP in C:\Users\HP\IdeaProjects\Spring)2020-12-23 11:55:42.922  INFO 5892 --- [           main] com.example.boot01.Boot01Application     : No active profile set, falling back to default profiles: defaultstringFormat2020-12-23 11:55:43.311  INFO 5892 --- [           main] com.example.boot01.Boot01Application     : Started Boot01Application in 0.637 seconds (JVM running for 1.064)com.example.boot02.autoconfiguration.FormatAutoConfiguration@764faa6Process finished with exit code 0

这也就证明了我提出的条件加载,那么它是在哪里实现的呢?我们回到@SpringBootApplication注解,知道@EnableAutoConfiguration然后再跟踪到AutoConfigurationImportSelector.class,然后可以看到下面的代码

configurations.removeAll(exclusions);configurations = getConfigurationClassFilter().filter(configurations);

这里有两行代码,其中上面的排除指的是

在exclude里面可以写很多需要排除的类,第二个拦截器指的就是我们做条件判断的代码。

 

org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration=org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jmx.JmxAutoConfigurationorg.springframework.boot.autoconfigure.amqp.RabbitAnnotationDrivenConfiguration=org.springframework.boot.autoconfigure.amqp.RabbitAnnotationDrivenConfiguration.ConditionalOnClass=org.springframework.amqp.rabbit.annotation.EnableRabbitorg.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration=org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration$MessagingTemplateConfiguration=org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration$MessagingTemplateConfiguration.ConditionalOnClass=org.springframework.amqp.rabbit.core.RabbitMessagingTemplateorg.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration.ConditionalOnClass=com.rabbitmq.client.Channel,org.springframework.amqp.rabbit.core.RabbitTemplateorg.springframework.boot.autoconfigure.aop.AopAutoConfiguration$AspectJAutoProxyingConfiguration=org.springframework.boot.autoconfigure.aop.AopAutoConfiguration$AspectJAutoProxyingConfiguration.ConditionalOnClass=org.aspectj.weaver.Adviceorg.springframework.boot.autoconfigure.batch.BatchAutoConfiguration=org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration$DataSourceInitializerConfiguration=org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration$DataSourceInitializerConfiguration.ConditionalOnBean=javax.sql.DataSourceorg.springframework.boot.autoconfigure.batch.BatchAutoConfiguration$DataSourceInitializerConfiguration.ConditionalOnClass=org.springframework.jdbc.datasource.init.DatabasePopulatororg.springframework.boot.autoconfigure.batch.BatchAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfigurationorg.springframework.boot.autoconfigure.batch.BatchAutoConfiguration.ConditionalOnBean=org.springframework.batch.core.launch.JobLauncherorg.springframework.boot.autoconfigure.batch.BatchAutoConfiguration.ConditionalOnClass=javax.sql.DataSource,org.springframework.batch.core.launch.JobLauncherorg.springframework.boot.autoconfigure.batch.BatchConfigurerConfiguration=org.springframework.boot.autoconfigure.batch.BatchConfigurerConfiguration$JpaBatchConfiguration=org.springframework.boot.autoconfigure.batch.BatchConfigurerConfiguration$JpaBatchConfiguration.ConditionalOnBean=org.springframework.boot.autoconfigure.batch.BatchConfigurerConfiguration$JpaBatchConfiguration.ConditionalOnClass=javax.persistence.EntityManagerFactoryorg.springframework.boot.autoconfigure.batch.BatchConfigurerConfiguration.ConditionalOnBean=javax.sql.DataSourceorg.springframework.boot.autoconfigure.batch.BatchConfigurerConfiguration.ConditionalOnClass=org.springframework.transaction.PlatformTransactionManagerorg.springframework.boot.autoconfigure.cache.CacheAutoConfiguration=org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration$CacheManagerEntityManagerFactoryDependsOnPostProcessor=org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration$CacheManagerEntityManagerFactoryDependsOnPostProcessor.ConditionalOnBean=org.springframework.orm.jpa.AbstractEntityManagerFactoryBeanorg.springframework.boot.autoconfigure.cache.CacheAutoConfiguration$CacheManagerEntityManagerFactoryDependsOnPostProcessor.ConditionalOnClass=org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBeanorg.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration,org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,org.springframework.boot.autoconfigure.data.redis.RedisAutoConfigurationorg.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.ConditionalOnBean=org.springframework.cache.interceptor.CacheAspectSupportorg.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.ConditionalOnClass=org.springframework.cache.CacheManagerorg.springframework.boot.autoconfigure.cache.CaffeineCacheConfiguration=org.springframework.boot.autoconfigure.cache.CaffeineCacheConfiguration.ConditionalOnClass=com.github.benmanes.caffeine.cache.Caffeine,org.springframework.cache.caffeine.CaffeineCacheManagerorg.springframework.boot.autoconfigure.cache.CouchbaseCacheConfiguration=org.springframework.boot.autoconfigure.cache.CouchbaseCacheConfiguration.ConditionalOnClass=com.couchbase.client.java.Cluster,org.springframework.data.couchbase.cache.CouchbaseCacheManager,org.springframework.data.couchbase.CouchbaseClientFactoryorg.springframework.boot.autoconfigure.cache.CouchbaseCacheConfiguration.ConditionalOnSingleCandidate=org.springframework.data.couchbase.CouchbaseClientFactoryorg.springframework.boot.autoconfigure.cache.EhCacheCacheConfiguration=org.springframework.boot.autoconfigure.cache.EhCacheCacheConfiguration.ConditionalOnClass=net.sf.ehcache.Cache,org.springframework.cache.ehcache.EhCacheCacheManagerorg.springframework.boot.autoconfigure.cache.GenericCacheConfiguration=org.springframework.boot.autoconfigure.cache.GenericCacheConfiguration.ConditionalOnBean=org.springframework.cache.Cacheorg.springframework.boot.autoconfigure.cache.HazelcastCacheConfiguration=org.springframework.boot.autoconfigure.cache.HazelcastCacheConfiguration.ConditionalOnClass=com.hazelcast.core.HazelcastInstance,com.hazelcast.spring.cache.HazelcastCacheManagerorg.springframework.boot.autoconfigure.cache.HazelcastCacheConfiguration.ConditionalOnSingleCandidate=com.hazelcast.core.HazelcastInstanceorg.springframework.boot.autoconfigure.cache.HazelcastJCacheCustomizationConfiguration=org.springframework.boot.autoconfigure.cache.HazelcastJCacheCustomizationConfiguration.ConditionalOnClass=com.hazelcast.core.HazelcastInstanceorg.springframework.boot.autoconfigure.cache.InfinispanCacheConfiguration=org.springframework.boot.autoconfigure.cache.InfinispanCacheConfiguration.ConditionalOnClass=org.infinispan.spring.embedded.provider.SpringEmbeddedCacheManagerorg.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration=org.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration$JCacheAvailableCondition$CustomJCacheCacheManager=org.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration$JCacheAvailableCondition$CustomJCacheCacheManager.ConditionalOnSingleCandidate=javax.cache.CacheManagerorg.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration.ConditionalOnClass=javax.cache.Caching,org.springframework.cache.jcache.JCacheCacheManagerorg.springframework.boot.autoconfigure.cache.RedisCacheConfiguration=org.springframework.boot.autoconfigure.cache.RedisCacheConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.redis.RedisAutoConfigurationorg.springframework.boot.autoconfigure.cache.RedisCacheConfiguration.ConditionalOnBean=org.springframework.data.redis.connection.RedisConnectionFactoryorg.springframework.boot.autoconfigure.cache.RedisCacheConfiguration.ConditionalOnClass=org.springframework.data.redis.connection.RedisConnectionFactoryorg.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration=org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration.ConditionalOnClass=com.datastax.oss.driver.api.core.CqlSessionorg.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration=org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration.AutoConfigureOrder=-2147483648org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration=org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration.AutoConfigureOrder=-2147483648org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration=org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration.ConditionalOnClass=com.couchbase.client.java.Clusterorg.springframework.boot.autoconfigure.dao.PersistenceExceptionTranslationAutoConfiguration=org.springframework.boot.autoconfigure.dao.PersistenceExceptionTranslationAutoConfiguration.ConditionalOnClass=org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessororg.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration=org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfigurationorg.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration.ConditionalOnBean=com.datastax.oss.driver.api.core.CqlSessionorg.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration.ConditionalOnClass=com.datastax.oss.driver.api.core.CqlSession,org.springframework.data.cassandra.core.CassandraAdminOperationsorg.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration=org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfigurationorg.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration.ConditionalOnBean=com.datastax.oss.driver.api.core.CqlSessionorg.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration.ConditionalOnClass=com.datastax.oss.driver.api.core.CqlSession,reactor.core.publisher.Flux,org.springframework.data.cassandra.core.ReactiveCassandraTemplateorg.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveRepositoriesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfigurationorg.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveRepositoriesAutoConfiguration.ConditionalOnClass=org.springframework.data.cassandra.ReactiveSession,org.springframework.data.cassandra.repository.ReactiveCassandraRepositoryorg.springframework.boot.autoconfigure.data.cassandra.CassandraRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.cassandra.CassandraRepositoriesAutoConfiguration.ConditionalOnClass=com.datastax.oss.driver.api.core.CqlSession,org.springframework.data.cassandra.repository.CassandraRepositoryorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseClientFactoryConfiguration=org.springframework.boot.autoconfigure.data.couchbase.CouchbaseClientFactoryConfiguration.ConditionalOnSingleCandidate=com.couchbase.client.java.Clusterorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseClientFactoryDependentConfiguration=org.springframework.boot.autoconfigure.data.couchbase.CouchbaseClientFactoryDependentConfiguration.ConditionalOnSingleCandidate=org.springframework.data.couchbase.CouchbaseClientFactoryorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration=org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration$ValidationConfiguration=org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration$ValidationConfiguration.ConditionalOnClass=javax.validation.Validatororg.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration,org.springframework.boot.autoconfigure.validation.ValidationAutoConfigurationorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration.ConditionalOnClass=com.couchbase.client.java.Bucket,org.springframework.data.couchbase.repository.CouchbaseRepositoryorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveDataAutoConfiguration=org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveDataAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfigurationorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveDataAutoConfiguration.ConditionalOnClass=com.couchbase.client.java.Cluster,reactor.core.publisher.Flux,org.springframework.data.couchbase.repository.ReactiveCouchbaseRepositoryorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveDataConfiguration=org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveDataConfiguration.ConditionalOnSingleCandidate=org.springframework.data.couchbase.CouchbaseClientFactoryorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveRepositoriesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveDataAutoConfigurationorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveRepositoriesAutoConfiguration.ConditionalOnBean=org.springframework.data.couchbase.repository.config.ReactiveRepositoryOperationsMappingorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveRepositoriesAutoConfiguration.ConditionalOnClass=com.couchbase.client.java.Cluster,reactor.core.publisher.Flux,org.springframework.data.couchbase.repository.ReactiveCouchbaseRepositoryorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.couchbase.CouchbaseRepositoriesAutoConfiguration.ConditionalOnBean=org.springframework.data.couchbase.repository.config.RepositoryOperationsMappingorg.springframework.boot.autoconfigure.data.couchbase.CouchbaseRepositoriesAutoConfiguration.ConditionalOnClass=com.couchbase.client.java.Bucket,org.springframework.data.couchbase.repository.CouchbaseRepositoryorg.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration=org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration,org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRestClientAutoConfigurationorg.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration.ConditionalOnClass=org.springframework.data.elasticsearch.core.ElasticsearchRestTemplateorg.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataConfiguration$ReactiveRestClientConfiguration=org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataConfiguration$ReactiveRestClientConfiguration.ConditionalOnClass=org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations,org.springframework.web.reactive.function.client.WebClientorg.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataConfiguration$RestClientConfiguration=org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataConfiguration$RestClientConfiguration.ConditionalOnClass=org.elasticsearch.client.RestHighLevelClientorg.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration.ConditionalOnClass=org.elasticsearch.client.Client,org.springframework.data.elasticsearch.repository.ElasticsearchRepositoryorg.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRepositoriesAutoConfiguration.ConditionalOnClass=org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient,org.springframework.data.elasticsearch.repository.ReactiveElasticsearchRepositoryorg.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRestClientAutoConfiguration=org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRestClientAutoConfiguration.ConditionalOnClass=reactor.netty.http.client.HttpClient,org.springframework.data.elasticsearch.client.reactive.ReactiveRestClients,org.springframework.web.reactive.function.client.WebClientorg.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfigurationorg.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration.ConditionalOnBean=org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations,org.springframework.transaction.PlatformTransactionManagerorg.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration.ConditionalOnClass=org.springframework.data.jdbc.repository.config.AbstractJdbcConfiguration,org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperationsorg.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfigurationorg.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration.ConditionalOnBean=javax.sql.DataSourceorg.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration.ConditionalOnClass=org.springframework.data.jpa.repository.JpaRepositoryorg.springframework.boot.autoconfigure.data.ldap.LdapRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.ldap.LdapRepositoriesAutoConfiguration.ConditionalOnClass=javax.naming.ldap.LdapContext,org.springframework.data.ldap.repository.LdapRepositoryorg.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration=org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.mongo.MongoAutoConfigurationorg.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration.ConditionalOnClass=com.mongodb.client.MongoClient,org.springframework.data.mongodb.core.MongoTemplateorg.springframework.boot.autoconfigure.data.mongo.MongoDatabaseFactoryConfiguration=org.springframework.boot.autoconfigure.data.mongo.MongoDatabaseFactoryConfiguration.ConditionalOnSingleCandidate=com.mongodb.client.MongoClientorg.springframework.boot.autoconfigure.data.mongo.MongoDatabaseFactoryDependentConfiguration=org.springframework.boot.autoconfigure.data.mongo.MongoDatabaseFactoryDependentConfiguration.ConditionalOnBean=org.springframework.data.mongodb.MongoDatabaseFactoryorg.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration=org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfigurationorg.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration.ConditionalOnBean=com.mongodb.reactivestreams.client.MongoClientorg.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration.ConditionalOnClass=com.mongodb.reactivestreams.client.MongoClient,org.springframework.data.mongodb.core.ReactiveMongoTemplateorg.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfigurationorg.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration.ConditionalOnClass=com.mongodb.reactivestreams.client.MongoClient,org.springframework.data.mongodb.repository.ReactiveMongoRepositoryorg.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfigurationorg.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration.ConditionalOnClass=com.mongodb.client.MongoClient,org.springframework.data.mongodb.repository.MongoRepositoryorg.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration=org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfigurationorg.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.transaction.TransactionAutoConfigurationorg.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration.ConditionalOnBean=org.neo4j.driver.Driverorg.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration.ConditionalOnClass=org.neo4j.driver.Driver,org.springframework.data.neo4j.core.transaction.Neo4jTransactionManager,org.springframework.transaction.PlatformTransactionManagerorg.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration=org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfigurationorg.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration.ConditionalOnBean=org.neo4j.driver.Driverorg.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration.ConditionalOnClass=org.neo4j.driver.Driver,reactor.core.publisher.Flux,org.springframework.data.neo4j.core.ReactiveNeo4jTemplate,org.springframework.transaction.ReactiveTransactionManagerorg.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveRepositoriesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfigurationorg.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveRepositoriesAutoConfiguration.ConditionalOnClass=org.neo4j.driver.Driver,reactor.core.publisher.Flux,org.springframework.data.neo4j.repository.ReactiveNeo4jRepositoryorg.springframework.boot.autoconfigure.data.neo4j.Neo4jRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.neo4j.Neo4jRepositoriesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfigurationorg.springframework.boot.autoconfigure.data.neo4j.Neo4jRepositoriesAutoConfiguration.ConditionalOnClass=org.neo4j.driver.Driver,org.springframework.data.neo4j.repository.Neo4jRepositoryorg.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration=org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfigurationorg.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration.ConditionalOnClass=org.springframework.data.r2dbc.core.R2dbcEntityTemplate,org.springframework.r2dbc.core.DatabaseClientorg.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration.ConditionalOnSingleCandidate=org.springframework.r2dbc.core.DatabaseClientorg.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfigurationorg.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration.ConditionalOnBean=org.springframework.r2dbc.core.DatabaseClientorg.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration.ConditionalOnClass=io.r2dbc.spi.ConnectionFactory,org.springframework.data.r2dbc.repository.R2dbcRepositoryorg.springframework.boot.autoconfigure.data.redis.JedisConnectionConfiguration=org.springframework.boot.autoconfigure.data.redis.JedisConnectionConfiguration.ConditionalOnClass=org.apache.commons.pool2.impl.GenericObjectPool,redis.clients.jedis.Jedis,org.springframework.data.redis.connection.jedis.JedisConnectionorg.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration=org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration.ConditionalOnClass=io.lettuce.core.RedisClientorg.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration=org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration.ConditionalOnClass=org.springframework.data.redis.core.RedisOperationsorg.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration=org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.redis.RedisAutoConfigurationorg.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration.ConditionalOnClass=reactor.core.publisher.Flux,org.springframework.data.redis.connection.ReactiveRedisConnectionFactory,org.springframework.data.redis.core.ReactiveRedisTemplateorg.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.redis.RedisAutoConfigurationorg.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration.ConditionalOnBean=org.springframework.data.redis.connection.RedisConnectionFactoryorg.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration.ConditionalOnClass=org.springframework.data.redis.repository.configuration.EnableRedisRepositoriesorg.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration=org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration,org.springframework.boot.autoconfigure.jackson.JacksonAutoConfigurationorg.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration.ConditionalOnClass=org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfigurationorg.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.data.solr.SolrRepositoriesAutoConfiguration=org.springframework.boot.autoconfigure.data.solr.SolrRepositoriesAutoConfiguration.ConditionalOnClass=org.apache.solr.client.solrj.SolrClient,org.springframework.data.solr.repository.SolrRepositoryorg.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration=org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfigurationorg.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration.ConditionalOnClass=org.springframework.data.web.PageableHandlerMethodArgumentResolver,org.springframework.web.servlet.config.annotation.WebMvcConfigurerorg.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration=org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration.ConditionalOnClass=org.elasticsearch.client.RestHighLevelClientorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration=org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayDataSourceCondition$DataSourceBeanCondition=org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayDataSourceCondition$DataSourceBeanCondition.ConditionalOnBean=javax.sql.DataSourceorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayEntityManagerFactoryDependsOnPostProcessor=org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayEntityManagerFactoryDependsOnPostProcessor.ConditionalOnBean=org.springframework.orm.jpa.AbstractEntityManagerFactoryBeanorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayEntityManagerFactoryDependsOnPostProcessor.ConditionalOnClass=org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBeanorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayJdbcOperationsDependsOnPostProcessor=org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayJdbcOperationsDependsOnPostProcessor.ConditionalOnBean=org.springframework.jdbc.core.JdbcOperationsorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayJdbcOperationsDependsOnPostProcessor.ConditionalOnClass=org.springframework.jdbc.core.JdbcOperationsorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayMigrationInitializerEntityManagerFactoryDependsOnPostProcessor=org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayMigrationInitializerEntityManagerFactoryDependsOnPostProcessor.ConditionalOnBean=org.springframework.orm.jpa.AbstractEntityManagerFactoryBeanorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayMigrationInitializerEntityManagerFactoryDependsOnPostProcessor.ConditionalOnClass=org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBeanorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayMigrationInitializerJdbcOperationsDependsOnPostProcessor=org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayMigrationInitializerJdbcOperationsDependsOnPostProcessor.ConditionalOnBean=org.springframework.jdbc.core.JdbcOperationsorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayMigrationInitializerJdbcOperationsDependsOnPostProcessor.ConditionalOnClass=org.springframework.jdbc.core.JdbcOperationsorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayMigrationInitializerNamedParameterJdbcOperationsDependsOnPostProcessor=org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayMigrationInitializerNamedParameterJdbcOperationsDependsOnPostProcessor.ConditionalOnBean=org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperationsorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayMigrationInitializerNamedParameterJdbcOperationsDependsOnPostProcessor.ConditionalOnClass=org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperationsorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayNamedParameterJdbcOperationsDependencyConfiguration=org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayNamedParameterJdbcOperationsDependencyConfiguration.ConditionalOnBean=org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperationsorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayNamedParameterJdbcOperationsDependencyConfiguration.ConditionalOnClass=org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperationsorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfigurationorg.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration.ConditionalOnClass=org.flywaydb.core.Flywayorg.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration=org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration.ConditionalOnClass=freemarker.template.Configuration,org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryorg.springframework.boot.autoconfigure.freemarker.FreeMarkerReactiveWebConfiguration=org.springframework.boot.autoconfigure.freemarker.FreeMarkerReactiveWebConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfigurationorg.springframework.boot.autoconfigure.freemarker.FreeMarkerReactiveWebConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.freemarker.FreeMarkerServletWebConfiguration=org.springframework.boot.autoconfigure.freemarker.FreeMarkerServletWebConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfigurationorg.springframework.boot.autoconfigure.freemarker.FreeMarkerServletWebConfiguration.ConditionalOnClass=javax.servlet.Servlet,org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurerorg.springframework.boot.autoconfigure.freemarker.FreeMarkerServletWebConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration=org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration$GroovyMarkupConfiguration=org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration$GroovyMarkupConfiguration.ConditionalOnClass=org.springframework.web.servlet.view.groovy.GroovyMarkupConfigurerorg.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration$GroovyWebConfiguration=org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration$GroovyWebConfiguration.ConditionalOnClass=javax.servlet.Servlet,org.springframework.context.i18n.LocaleContextHolder,org.springframework.web.servlet.view.UrlBasedViewResolverorg.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration$GroovyWebConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfigurationorg.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration.ConditionalOnClass=groovy.text.markup.MarkupTemplateEngineorg.springframework.boot.autoconfigure.gson.GsonAutoConfiguration=org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration.ConditionalOnClass=com.google.gson.Gsonorg.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration=org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfigurationorg.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.ConditionalOnClass=org.h2.server.web.WebServletorg.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration=org.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration$HypermediaConfiguration=org.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration$HypermediaConfiguration.ConditionalOnClass=com.fasterxml.jackson.databind.ObjectMapperorg.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration,org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration,org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration,org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfigurationorg.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration.ConditionalOnClass=org.springframework.hateoas.EntityModel,org.springframework.plugin.core.Plugin,org.springframework.web.bind.annotation.RequestMapping,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapterorg.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration.ConditionalOnWebApplication=org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration=org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration.ConditionalOnClass=com.hazelcast.core.HazelcastInstanceorg.springframework.boot.autoconfigure.hazelcast.HazelcastClientConfiguration=org.springframework.boot.autoconfigure.hazelcast.HazelcastClientConfiguration$HazelcastClientConfigConfiguration=org.springframework.boot.autoconfigure.hazelcast.HazelcastClientConfiguration$HazelcastClientConfigConfiguration.ConditionalOnSingleCandidate=com.hazelcast.client.config.ClientConfigorg.springframework.boot.autoconfigure.hazelcast.HazelcastClientConfiguration.ConditionalOnClass=com.hazelcast.client.HazelcastClientorg.springframework.boot.autoconfigure.hazelcast.HazelcastJpaDependencyAutoConfiguration=org.springframework.boot.autoconfigure.hazelcast.HazelcastJpaDependencyAutoConfiguration$OnHazelcastAndJpaCondition$HasHazelcastInstance=org.springframework.boot.autoconfigure.hazelcast.HazelcastJpaDependencyAutoConfiguration$OnHazelcastAndJpaCondition$HasHazelcastInstance.ConditionalOnBean=org.springframework.boot.autoconfigure.hazelcast.HazelcastJpaDependencyAutoConfiguration$OnHazelcastAndJpaCondition$HasJpa=org.springframework.boot.autoconfigure.hazelcast.HazelcastJpaDependencyAutoConfiguration$OnHazelcastAndJpaCondition$HasJpa.ConditionalOnBean=org.springframework.orm.jpa.AbstractEntityManagerFactoryBeanorg.springframework.boot.autoconfigure.hazelcast.HazelcastJpaDependencyAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfigurationorg.springframework.boot.autoconfigure.hazelcast.HazelcastJpaDependencyAutoConfiguration.ConditionalOnClass=com.hazelcast.core.HazelcastInstance,org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBeanorg.springframework.boot.autoconfigure.hazelcast.HazelcastServerConfiguration$HazelcastServerConfigConfiguration=org.springframework.boot.autoconfigure.hazelcast.HazelcastServerConfiguration$HazelcastServerConfigConfiguration.ConditionalOnSingleCandidate=com.hazelcast.config.Configorg.springframework.boot.autoconfigure.http.GsonHttpMessageConvertersConfiguration=org.springframework.boot.autoconfigure.http.GsonHttpMessageConvertersConfiguration$GsonHttpMessageConverterConfiguration=org.springframework.boot.autoconfigure.http.GsonHttpMessageConvertersConfiguration$GsonHttpMessageConverterConfiguration.ConditionalOnBean=com.google.gson.Gsonorg.springframework.boot.autoconfigure.http.GsonHttpMessageConvertersConfiguration$JacksonAndJsonbUnavailableCondition$JacksonAvailable=org.springframework.boot.autoconfigure.http.GsonHttpMessageConvertersConfiguration$JacksonAndJsonbUnavailableCondition$JacksonAvailable.ConditionalOnBean=org.springframework.http.converter.json.MappingJackson2HttpMessageConverterorg.springframework.boot.autoconfigure.http.GsonHttpMessageConvertersConfiguration.ConditionalOnClass=com.google.gson.Gsonorg.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration=org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration$NotReactiveWebApplicationCondition$ReactiveWebApplication=org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration$NotReactiveWebApplicationCondition$ReactiveWebApplication.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration$StringHttpMessageConverterConfiguration=org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration$StringHttpMessageConverterConfiguration.ConditionalOnClass=org.springframework.http.converter.StringHttpMessageConverterorg.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration,org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration,org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfigurationorg.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration.ConditionalOnClass=org.springframework.http.converter.HttpMessageConverterorg.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration$MappingJackson2HttpMessageConverterConfiguration=org.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration$MappingJackson2HttpMessageConverterConfiguration.ConditionalOnBean=com.fasterxml.jackson.databind.ObjectMapperorg.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration$MappingJackson2HttpMessageConverterConfiguration.ConditionalOnClass=com.fasterxml.jackson.databind.ObjectMapperorg.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration$MappingJackson2XmlHttpMessageConverterConfiguration=org.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration$MappingJackson2XmlHttpMessageConverterConfiguration.ConditionalOnBean=org.springframework.http.converter.json.Jackson2ObjectMapperBuilderorg.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration$MappingJackson2XmlHttpMessageConverterConfiguration.ConditionalOnClass=com.fasterxml.jackson.dataformat.xml.XmlMapperorg.springframework.boot.autoconfigure.http.JsonbHttpMessageConvertersConfiguration=org.springframework.boot.autoconfigure.http.JsonbHttpMessageConvertersConfiguration$JsonbHttpMessageConverterConfiguration=org.springframework.boot.autoconfigure.http.JsonbHttpMessageConvertersConfiguration$JsonbHttpMessageConverterConfiguration.ConditionalOnBean=javax.json.bind.Jsonborg.springframework.boot.autoconfigure.http.JsonbHttpMessageConvertersConfiguration.ConditionalOnClass=javax.json.bind.Jsonborg.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration=org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration$JacksonCodecConfiguration=org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration$JacksonCodecConfiguration.ConditionalOnClass=com.fasterxml.jackson.databind.ObjectMapperorg.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jackson.JacksonAutoConfigurationorg.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration.ConditionalOnClass=org.springframework.http.codec.CodecConfigurer,org.springframework.web.reactive.function.client.WebClientorg.springframework.boot.autoconfigure.influx.InfluxDbAutoConfiguration=org.springframework.boot.autoconfigure.influx.InfluxDbAutoConfiguration.ConditionalOnClass=org.influxdb.InfluxDBorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration=org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationJdbcConfiguration=org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationJdbcConfiguration.ConditionalOnClass=org.springframework.integration.jdbc.store.JdbcMessageStoreorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationJdbcConfiguration.ConditionalOnSingleCandidate=javax.sql.DataSourceorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationJmxConfiguration=org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationJmxConfiguration.ConditionalOnBean=javax.management.MBeanServerorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationJmxConfiguration.ConditionalOnClass=org.springframework.integration.jmx.config.EnableIntegrationMBeanExportorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationManagementConfiguration=org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationManagementConfiguration.ConditionalOnClass=org.springframework.integration.config.EnableIntegrationManagementorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationRSocketConfiguration=org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationRSocketConfiguration$AnyRSocketChannelAdapterAvailable$IntegrationRSocketEndpointAvailable=org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationRSocketConfiguration$AnyRSocketChannelAdapterAvailable$IntegrationRSocketEndpointAvailable.ConditionalOnBean=org.springframework.integration.rsocket.IntegrationRSocketEndpointorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationRSocketConfiguration$AnyRSocketChannelAdapterAvailable$RSocketOutboundGatewayAvailable=org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationRSocketConfiguration$AnyRSocketChannelAdapterAvailable$RSocketOutboundGatewayAvailable.ConditionalOnBean=org.springframework.integration.rsocket.outbound.RSocketOutboundGatewayorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationRSocketConfiguration$IntegrationRSocketServerConfiguration=org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationRSocketConfiguration$IntegrationRSocketServerConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfigurationorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationRSocketConfiguration$IntegrationRSocketServerConfiguration.ConditionalOnClass=io.rsocket.transport.netty.server.TcpServerTransportorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationRSocketConfiguration.ConditionalOnClass=io.rsocket.RSocket,org.springframework.integration.rsocket.IntegrationRSocketEndpoint,org.springframework.messaging.rsocket.RSocketRequesterorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jmx.JmxAutoConfigurationorg.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration.ConditionalOnClass=org.springframework.integration.config.EnableIntegrationorg.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration=org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$Jackson2ObjectMapperBuilderCustomizerConfiguration=org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$Jackson2ObjectMapperBuilderCustomizerConfiguration.ConditionalOnClass=org.springframework.http.converter.json.Jackson2ObjectMapperBuilderorg.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperBuilderConfiguration=org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperBuilderConfiguration.ConditionalOnClass=org.springframework.http.converter.json.Jackson2ObjectMapperBuilderorg.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperConfiguration=org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$JacksonObjectMapperConfiguration.ConditionalOnClass=org.springframework.http.converter.json.Jackson2ObjectMapperBuilderorg.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$ParameterNamesModuleConfiguration=org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration$ParameterNamesModuleConfiguration.ConditionalOnClass=com.fasterxml.jackson.module.paramnames.ParameterNamesModuleorg.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.ConditionalOnClass=com.fasterxml.jackson.databind.ObjectMapperorg.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.ConditionalOnClass=javax.sql.DataSource,org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseTypeorg.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Dbcp2=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Dbcp2.ConditionalOnClass=org.apache.commons.dbcp2.BasicDataSourceorg.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.ConditionalOnClass=com.zaxxer.hikari.HikariDataSourceorg.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$OracleUcp=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$OracleUcp.ConditionalOnClass=oracle.jdbc.OracleConnection,oracle.ucp.jdbc.PoolDataSourceImplorg.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Tomcat=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Tomcat.ConditionalOnClass=org.apache.tomcat.jdbc.pool.DataSourceorg.springframework.boot.autoconfigure.jdbc.DataSourceJmxConfiguration$Hikari=org.springframework.boot.autoconfigure.jdbc.DataSourceJmxConfiguration$Hikari.ConditionalOnClass=com.zaxxer.hikari.HikariDataSourceorg.springframework.boot.autoconfigure.jdbc.DataSourceJmxConfiguration$Hikari.ConditionalOnSingleCandidate=javax.sql.DataSourceorg.springframework.boot.autoconfigure.jdbc.DataSourceJmxConfiguration$TomcatDataSourceJmxConfiguration=org.springframework.boot.autoconfigure.jdbc.DataSourceJmxConfiguration$TomcatDataSourceJmxConfiguration.ConditionalOnClass=org.apache.tomcat.jdbc.pool.DataSourceProxyorg.springframework.boot.autoconfigure.jdbc.DataSourceJmxConfiguration$TomcatDataSourceJmxConfiguration.ConditionalOnSingleCandidate=javax.sql.DataSourceorg.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration=org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration$JdbcTransactionManagerConfiguration=org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration$JdbcTransactionManagerConfiguration.ConditionalOnSingleCandidate=javax.sql.DataSourceorg.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration.AutoConfigureOrder=2147483647org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration.ConditionalOnClass=org.springframework.jdbc.core.JdbcTemplate,org.springframework.transaction.TransactionManagerorg.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration=org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfigurationorg.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration.ConditionalOnClass=javax.sql.DataSource,org.springframework.jdbc.core.JdbcTemplateorg.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration.ConditionalOnSingleCandidate=javax.sql.DataSourceorg.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration=org.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfigurationorg.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration.ConditionalOnClass=javax.sql.DataSource,org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseTypeorg.springframework.boot.autoconfigure.jdbc.NamedParameterJdbcTemplateConfiguration=org.springframework.boot.autoconfigure.jdbc.NamedParameterJdbcTemplateConfiguration.ConditionalOnSingleCandidate=org.springframework.jdbc.core.JdbcTemplateorg.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration=org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfigurationorg.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration.ConditionalOnBean=org.springframework.boot.jdbc.XADataSourceWrapperorg.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration.ConditionalOnClass=javax.sql.DataSource,javax.transaction.TransactionManager,org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseTypeorg.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration$CommonsDbcp2PoolDataSourceMetadataProviderConfiguration=org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration$CommonsDbcp2PoolDataSourceMetadataProviderConfiguration.ConditionalOnClass=org.apache.commons.dbcp2.BasicDataSourceorg.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration$HikariPoolDataSourceMetadataProviderConfiguration=org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration$HikariPoolDataSourceMetadataProviderConfiguration.ConditionalOnClass=com.zaxxer.hikari.HikariDataSourceorg.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration$OracleUcpPoolDataSourceMetadataProviderConfiguration=org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration$OracleUcpPoolDataSourceMetadataProviderConfiguration.ConditionalOnClass=oracle.jdbc.OracleConnection,oracle.ucp.jdbc.PoolDataSourceorg.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration$TomcatDataSourcePoolMetadataProviderConfiguration=org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration$TomcatDataSourcePoolMetadataProviderConfiguration.ConditionalOnClass=org.apache.tomcat.jdbc.pool.DataSourceorg.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration=org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration$JacksonResourceConfigCustomizer=org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration$JacksonResourceConfigCustomizer$JaxbObjectMapperCustomizer=org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration$JacksonResourceConfigCustomizer$JaxbObjectMapperCustomizer.ConditionalOnClass=com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector,javax.xml.bind.annotation.XmlElementorg.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration$JacksonResourceConfigCustomizer.ConditionalOnClass=org.glassfish.jersey.jackson.JacksonFeatureorg.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration$JacksonResourceConfigCustomizer.ConditionalOnSingleCandidate=com.fasterxml.jackson.databind.ObjectMapperorg.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jackson.JacksonAutoConfigurationorg.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfigurationorg.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.AutoConfigureOrder=-2147483648org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.ConditionalOnBean=org.glassfish.jersey.server.ResourceConfigorg.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.ConditionalOnClass=javax.servlet.ServletRegistration,org.glassfish.jersey.server.spring.SpringComponentProviderorg.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.jms.JmsAnnotationDrivenConfiguration=org.springframework.boot.autoconfigure.jms.JmsAnnotationDrivenConfiguration.ConditionalOnClass=org.springframework.jms.annotation.EnableJmsorg.springframework.boot.autoconfigure.jms.JmsAutoConfiguration=org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration$MessagingTemplateConfiguration=org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration$MessagingTemplateConfiguration.ConditionalOnClass=org.springframework.jms.core.JmsMessagingTemplateorg.springframework.boot.autoconfigure.jms.JmsAutoConfiguration.ConditionalOnBean=javax.jms.ConnectionFactoryorg.springframework.boot.autoconfigure.jms.JmsAutoConfiguration.ConditionalOnClass=javax.jms.Message,org.springframework.jms.core.JmsTemplateorg.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguration=org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.jms.JmsAutoConfigurationorg.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguration.ConditionalOnClass=org.springframework.jms.core.JmsTemplateorg.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration=org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfigurationorg.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.jms.JmsAutoConfigurationorg.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration.ConditionalOnClass=javax.jms.ConnectionFactory,org.apache.activemq.ActiveMQConnectionFactoryorg.springframework.boot.autoconfigure.jms.activemq.ActiveMQConnectionFactoryConfiguration$PooledConnectionFactoryConfiguration=org.springframework.boot.autoconfigure.jms.activemq.ActiveMQConnectionFactoryConfiguration$PooledConnectionFactoryConfiguration.ConditionalOnClass=org.apache.commons.pool2.PooledObject,org.messaginghub.pooled.jms.JmsPoolConnectionFactoryorg.springframework.boot.autoconfigure.jms.activemq.ActiveMQConnectionFactoryConfiguration$SimpleConnectionFactoryConfiguration$CachingConnectionFactoryConfiguration=org.springframework.boot.autoconfigure.jms.activemq.ActiveMQConnectionFactoryConfiguration$SimpleConnectionFactoryConfiguration$CachingConnectionFactoryConfiguration.ConditionalOnClass=org.springframework.jms.connection.CachingConnectionFactoryorg.springframework.boot.autoconfigure.jms.activemq.ActiveMQXAConnectionFactoryConfiguration=org.springframework.boot.autoconfigure.jms.activemq.ActiveMQXAConnectionFactoryConfiguration.ConditionalOnBean=org.springframework.boot.jms.XAConnectionFactoryWrapperorg.springframework.boot.autoconfigure.jms.activemq.ActiveMQXAConnectionFactoryConfiguration.ConditionalOnClass=javax.transaction.TransactionManagerorg.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration=org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfigurationorg.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.jms.JmsAutoConfigurationorg.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration.ConditionalOnClass=javax.jms.ConnectionFactory,org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactoryorg.springframework.boot.autoconfigure.jms.artemis.ArtemisConnectionFactoryConfiguration$PooledConnectionFactoryConfiguration=org.springframework.boot.autoconfigure.jms.artemis.ArtemisConnectionFactoryConfiguration$PooledConnectionFactoryConfiguration.ConditionalOnClass=org.apache.commons.pool2.PooledObject,org.messaginghub.pooled.jms.JmsPoolConnectionFactoryorg.springframework.boot.autoconfigure.jms.artemis.ArtemisConnectionFactoryConfiguration$SimpleConnectionFactoryConfiguration=org.springframework.boot.autoconfigure.jms.artemis.ArtemisConnectionFactoryConfiguration$SimpleConnectionFactoryConfiguration.ConditionalOnClass=org.springframework.jms.connection.CachingConnectionFactoryorg.springframework.boot.autoconfigure.jms.artemis.ArtemisEmbeddedServerConfiguration=org.springframework.boot.autoconfigure.jms.artemis.ArtemisEmbeddedServerConfiguration.ConditionalOnClass=org.apache.activemq.artemis.core.server.embedded.EmbeddedActiveMQorg.springframework.boot.autoconfigure.jms.artemis.ArtemisXAConnectionFactoryConfiguration=org.springframework.boot.autoconfigure.jms.artemis.ArtemisXAConnectionFactoryConfiguration.ConditionalOnBean=org.springframework.boot.jms.XAConnectionFactoryWrapperorg.springframework.boot.autoconfigure.jms.artemis.ArtemisXAConnectionFactoryConfiguration.ConditionalOnClass=javax.transaction.TransactionManagerorg.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration=org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration.ConditionalOnClass=org.springframework.jmx.export.MBeanExporterorg.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration=org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.transaction.TransactionAutoConfigurationorg.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration.ConditionalOnBean=javax.sql.DataSourceorg.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration.ConditionalOnClass=org.jooq.DSLContextorg.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration=org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration.ConditionalOnClass=javax.json.bind.Jsonborg.springframework.boot.autoconfigure.kafka.KafkaAnnotationDrivenConfiguration=org.springframework.boot.autoconfigure.kafka.KafkaAnnotationDrivenConfiguration.ConditionalOnClass=org.springframework.kafka.annotation.EnableKafkaorg.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration=org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration.ConditionalOnClass=org.springframework.kafka.core.KafkaTemplateorg.springframework.boot.autoconfigure.kafka.KafkaStreamsAnnotationDrivenConfiguration=org.springframework.boot.autoconfigure.kafka.KafkaStreamsAnnotationDrivenConfiguration.ConditionalOnBean=org.springframework.boot.autoconfigure.kafka.KafkaStreamsAnnotationDrivenConfiguration.ConditionalOnClass=org.apache.kafka.streams.StreamsBuilderorg.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration=org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration.ConditionalOnClass=org.springframework.ldap.core.ContextSourceorg.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration=org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration$EmbeddedLdapContextConfiguration=org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration$EmbeddedLdapContextConfiguration.ConditionalOnClass=org.springframework.ldap.core.ContextSourceorg.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.ldap.LdapAutoConfigurationorg.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration.ConditionalOnClass=com.unboundid.ldap.listener.InMemoryDirectoryServerorg.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration=org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseDataSourceCondition$DataSourceBeanCondition=org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseDataSourceCondition$DataSourceBeanCondition.ConditionalOnBean=javax.sql.DataSourceorg.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseEntityManagerFactoryDependsOnPostProcessor=org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseEntityManagerFactoryDependsOnPostProcessor.ConditionalOnBean=org.springframework.orm.jpa.AbstractEntityManagerFactoryBeanorg.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseEntityManagerFactoryDependsOnPostProcessor.ConditionalOnClass=org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBeanorg.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseJdbcOperationsDependsOnPostProcessor=org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseJdbcOperationsDependsOnPostProcessor.ConditionalOnBean=org.springframework.jdbc.core.JdbcOperationsorg.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseJdbcOperationsDependsOnPostProcessor.ConditionalOnClass=org.springframework.jdbc.core.JdbcOperationsorg.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseNamedParameterJdbcOperationsDependsOnPostProcessor=org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseNamedParameterJdbcOperationsDependsOnPostProcessor.ConditionalOnBean=org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperationsorg.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration$LiquibaseNamedParameterJdbcOperationsDependsOnPostProcessor.ConditionalOnClass=org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperationsorg.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfigurationorg.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration.ConditionalOnClass=liquibase.change.DatabaseChange,liquibase.integration.spring.SpringLiquibaseorg.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration=org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration.ConditionalOnClass=javax.activation.MimeType,javax.mail.internet.MimeMessage,org.springframework.mail.MailSenderorg.springframework.boot.autoconfigure.mail.MailSenderJndiConfiguration=org.springframework.boot.autoconfigure.mail.MailSenderJndiConfiguration.ConditionalOnClass=javax.mail.Sessionorg.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration=org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.mail.MailSenderAutoConfigurationorg.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration.ConditionalOnSingleCandidate=org.springframework.mail.javamail.JavaMailSenderImplorg.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration=org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration.ConditionalOnClass=com.mongodb.client.MongoClientorg.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration=org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration$NettyDriverConfiguration=org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration$NettyDriverConfiguration.ConditionalOnClass=io.netty.channel.nio.NioEventLoopGroup,io.netty.channel.socket.SocketChannelorg.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration.ConditionalOnClass=com.mongodb.reactivestreams.client.MongoClient,reactor.core.publisher.Fluxorg.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration=org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration$EmbeddedMongoClientDependsOnBeanFactoryPostProcessor=org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration$EmbeddedMongoClientDependsOnBeanFactoryPostProcessor.ConditionalOnClass=com.mongodb.client.MongoClient,org.springframework.data.mongodb.core.MongoClientFactoryBeanorg.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration$EmbeddedReactiveStreamsMongoClientDependsOnBeanFactoryPostProcessor=org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration$EmbeddedReactiveStreamsMongoClientDependsOnBeanFactoryPostProcessor.ConditionalOnClass=com.mongodb.reactivestreams.client.MongoClient,org.springframework.data.mongodb.core.ReactiveMongoClientFactoryBeanorg.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration$RuntimeConfigConfiguration=org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration$RuntimeConfigConfiguration.ConditionalOnClass=org.slf4j.Loggerorg.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.mongo.MongoAutoConfigurationorg.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration.ConditionalOnClass=com.mongodb.MongoClientSettings,de.flapdoodle.embed.mongo.MongodStarterorg.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration=org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration.ConditionalOnClass=com.samskivert.mustache.Mustacheorg.springframework.boot.autoconfigure.mustache.MustacheReactiveWebConfiguration=org.springframework.boot.autoconfigure.mustache.MustacheReactiveWebConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.mustache.MustacheServletWebConfiguration=org.springframework.boot.autoconfigure.mustache.MustacheServletWebConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration=org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration.ConditionalOnClass=org.neo4j.driver.Driverorg.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration=org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfigurationorg.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.ConditionalOnClass=javax.persistence.EntityManager,org.hibernate.engine.spi.SessionImplementor,org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBeanorg.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration=org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration.ConditionalOnSingleCandidate=javax.sql.DataSourceorg.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration$JpaWebConfiguration=org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration$JpaWebConfiguration.ConditionalOnClass=org.springframework.web.servlet.config.annotation.WebMvcConfigurerorg.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration$JpaWebConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration=org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration$JdbcStoreTypeConfiguration=org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration$JdbcStoreTypeConfiguration$QuartzSchedulerDependencyConfiguration$LiquibaseQuartzSchedulerDependencyConfiguration=org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration$JdbcStoreTypeConfiguration$QuartzSchedulerDependencyConfiguration$LiquibaseQuartzSchedulerDependencyConfiguration.ConditionalOnClass=liquibase.integration.spring.SpringLiquibaseorg.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration$JdbcStoreTypeConfiguration.ConditionalOnSingleCandidate=javax.sql.DataSourceorg.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,org.springframework.boot.autoconfigure.flyway.FlywayAutoConfigurationorg.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration.ConditionalOnClass=org.quartz.Scheduler,org.springframework.scheduling.quartz.SchedulerFactoryBean,org.springframework.transaction.PlatformTransactionManagerorg.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryConfigurations$Pool=org.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryConfigurations$Pool.ConditionalOnClass=io.r2dbc.pool.ConnectionPoolorg.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryDependentConfiguration=org.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryDependentConfiguration.ConditionalOnClass=org.springframework.r2dbc.core.DatabaseClientorg.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryDependentConfiguration.ConditionalOnSingleCandidate=io.r2dbc.spi.ConnectionFactoryorg.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration=org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfigurationorg.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration.ConditionalOnClass=io.r2dbc.spi.ConnectionFactoryorg.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration=org.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.transaction.TransactionAutoConfigurationorg.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration.AutoConfigureOrder=2147483647org.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration.ConditionalOnClass=org.springframework.r2dbc.connection.R2dbcTransactionManager,org.springframework.transaction.ReactiveTransactionManagerorg.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration.ConditionalOnSingleCandidate=io.r2dbc.spi.ConnectionFactoryorg.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfiguration=org.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfigurationorg.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfiguration.ConditionalOnClass=io.rsocket.RSocket,io.rsocket.transport.netty.server.TcpServerTransport,org.springframework.messaging.rsocket.RSocketRequesterorg.springframework.boot.autoconfigure.rsocket.RSocketRequesterAutoConfiguration=org.springframework.boot.autoconfigure.rsocket.RSocketRequesterAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfigurationorg.springframework.boot.autoconfigure.rsocket.RSocketRequesterAutoConfiguration.ConditionalOnClass=io.rsocket.RSocket,io.rsocket.transport.netty.server.TcpServerTransport,reactor.netty.http.server.HttpServer,org.springframework.messaging.rsocket.RSocketRequesterorg.springframework.boot.autoconfigure.rsocket.RSocketServerAutoConfiguration=org.springframework.boot.autoconfigure.rsocket.RSocketServerAutoConfiguration$OnRSocketWebServerCondition$IsReactiveWebApplication=org.springframework.boot.autoconfigure.rsocket.RSocketServerAutoConfiguration$OnRSocketWebServerCondition$IsReactiveWebApplication.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.rsocket.RSocketServerAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfigurationorg.springframework.boot.autoconfigure.rsocket.RSocketServerAutoConfiguration.ConditionalOnBean=org.springframework.messaging.rsocket.annotation.support.RSocketMessageHandlerorg.springframework.boot.autoconfigure.rsocket.RSocketServerAutoConfiguration.ConditionalOnClass=io.rsocket.core.RSocketServer,io.rsocket.transport.netty.server.TcpServerTransport,reactor.netty.http.server.HttpServer,org.springframework.messaging.rsocket.RSocketStrategiesorg.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration=org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration$JacksonCborStrategyConfiguration=org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration$JacksonCborStrategyConfiguration.ConditionalOnClass=com.fasterxml.jackson.databind.ObjectMapper,com.fasterxml.jackson.dataformat.cbor.CBORFactoryorg.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration$JacksonJsonStrategyConfiguration=org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration$JacksonJsonStrategyConfiguration.ConditionalOnClass=com.fasterxml.jackson.databind.ObjectMapperorg.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jackson.JacksonAutoConfigurationorg.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration.ConditionalOnClass=io.netty.buffer.PooledByteBufAllocator,io.rsocket.RSocket,org.springframework.messaging.rsocket.RSocketStrategiesorg.springframework.boot.autoconfigure.security.DefaultWebSecurityCondition$Classes=org.springframework.boot.autoconfigure.security.DefaultWebSecurityCondition$Classes.ConditionalOnClass=org.springframework.security.config.annotation.web.builders.HttpSecurity,org.springframework.security.web.SecurityFilterChainorg.springframework.boot.autoconfigure.security.SecurityDataConfiguration=org.springframework.boot.autoconfigure.security.SecurityDataConfiguration.ConditionalOnClass=org.springframework.security.data.repository.query.SecurityEvaluationContextExtensionorg.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration=org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration$NonServletApplicationCondition$ServletApplicationCondition=org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration$NonServletApplicationCondition$ServletApplicationCondition.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfigurationorg.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration.ConditionalOnClass=reactor.core.publisher.Flux,org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity,org.springframework.security.oauth2.client.registration.ClientRegistrationorg.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientConfigurations$ReactiveOAuth2ClientConfiguration=org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientConfigurations$ReactiveOAuth2ClientConfiguration$SecurityWebFilterChainConfiguration=org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientConfigurations$ReactiveOAuth2ClientConfiguration$SecurityWebFilterChainConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientConfigurations$ReactiveOAuth2ClientConfiguration.ConditionalOnBean=org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepositoryorg.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration=org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfigurationorg.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration.ConditionalOnClass=org.springframework.security.config.annotation.web.configuration.EnableWebSecurity,org.springframework.security.oauth2.client.registration.ClientRegistrationorg.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2WebSecurityConfiguration=org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2WebSecurityConfiguration.ConditionalOnBean=org.springframework.security.oauth2.client.registration.ClientRegistrationRepositoryorg.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration=org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration,org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfigurationorg.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration.ConditionalOnClass=org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurityorg.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerConfiguration$JwtConfiguration=org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerConfiguration$JwtConfiguration.ConditionalOnClass=org.springframework.security.oauth2.jwt.ReactiveJwtDecoder,org.springframework.security.oauth2.server.resource.BearerTokenAuthenticationTokenorg.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerConfiguration$OpaqueTokenConfiguration=org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerConfiguration$OpaqueTokenConfiguration.ConditionalOnClass=org.springframework.security.oauth2.server.resource.BearerTokenAuthenticationToken,org.springframework.security.oauth2.server.resource.introspection.ReactiveOpaqueTokenIntrospectororg.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration=org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration,org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfigurationorg.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration.ConditionalOnClass=org.springframework.security.oauth2.server.resource.BearerTokenAuthenticationTokenorg.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.security.oauth2.resource.servlet.Oauth2ResourceServerConfiguration$JwtConfiguration=org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.Oauth2ResourceServerConfiguration$JwtConfiguration.ConditionalOnClass=org.springframework.security.oauth2.jwt.JwtDecoderorg.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration=org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration$EnableWebFluxSecurityConfiguration=org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration$EnableWebFluxSecurityConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration.ConditionalOnClass=reactor.core.publisher.Flux,org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity,org.springframework.security.web.server.WebFilterChainProxy,org.springframework.web.reactive.config.WebFluxConfigurerorg.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration=org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration$ReactiveUserDetailsServiceCondition$RSocketSecurityEnabledCondition=org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration$ReactiveUserDetailsServiceCondition$RSocketSecurityEnabledCondition.ConditionalOnBean=org.springframework.messaging.rsocket.annotation.support.RSocketMessageHandlerorg.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration$ReactiveUserDetailsServiceCondition$ReactiveWebApplicationCondition=org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration$ReactiveUserDetailsServiceCondition$ReactiveWebApplicationCondition.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfigurationorg.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration.ConditionalOnClass=org.springframework.security.authentication.ReactiveAuthenticationManagerorg.springframework.boot.autoconfigure.security.rsocket.RSocketSecurityAutoConfiguration=org.springframework.boot.autoconfigure.security.rsocket.RSocketSecurityAutoConfiguration.ConditionalOnClass=org.springframework.security.rsocket.core.SecuritySocketAcceptorInterceptororg.springframework.boot.autoconfigure.security.saml2.Saml2LoginConfiguration=org.springframework.boot.autoconfigure.security.saml2.Saml2LoginConfiguration.ConditionalOnBean=org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrationRepositoryorg.springframework.boot.autoconfigure.security.saml2.Saml2RelyingPartyAutoConfiguration=org.springframework.boot.autoconfigure.security.saml2.Saml2RelyingPartyAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfigurationorg.springframework.boot.autoconfigure.security.saml2.Saml2RelyingPartyAutoConfiguration.ConditionalOnClass=org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrationRepositoryorg.springframework.boot.autoconfigure.security.saml2.Saml2RelyingPartyAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.ConditionalOnClass=org.springframework.security.authentication.DefaultAuthenticationEventPublisherorg.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration=org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfigurationorg.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration.ConditionalOnClass=org.springframework.security.config.http.SessionCreationPolicy,org.springframework.security.web.context.AbstractSecurityWebApplicationInitializerorg.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.security.servlet.SpringBootWebSecurityConfiguration=org.springframework.boot.autoconfigure.security.servlet.SpringBootWebSecurityConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration=org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration.ConditionalOnBean=org.springframework.security.config.annotation.ObjectPostProcessororg.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration.ConditionalOnClass=org.springframework.security.authentication.AuthenticationManagerorg.springframework.boot.autoconfigure.security.servlet.WebSecurityEnablerConfiguration=org.springframework.boot.autoconfigure.security.servlet.WebSecurityEnablerConfiguration.ConditionalOnClass=org.springframework.security.config.annotation.web.configuration.EnableWebSecurityorg.springframework.boot.autoconfigure.security.servlet.WebSecurityEnablerConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.sendgrid.SendGridAutoConfiguration=org.springframework.boot.autoconfigure.sendgrid.SendGridAutoConfiguration.ConditionalOnClass=com.sendgrid.SendGridorg.springframework.boot.autoconfigure.session.HazelcastSessionConfiguration=org.springframework.boot.autoconfigure.session.HazelcastSessionConfiguration.ConditionalOnBean=com.hazelcast.core.HazelcastInstanceorg.springframework.boot.autoconfigure.session.HazelcastSessionConfiguration.ConditionalOnClass=org.springframework.session.hazelcast.HazelcastIndexedSessionRepositoryorg.springframework.boot.autoconfigure.session.JdbcSessionConfiguration=org.springframework.boot.autoconfigure.session.JdbcSessionConfiguration.ConditionalOnBean=javax.sql.DataSourceorg.springframework.boot.autoconfigure.session.JdbcSessionConfiguration.ConditionalOnClass=org.springframework.jdbc.core.JdbcTemplate,org.springframework.session.jdbc.JdbcIndexedSessionRepositoryorg.springframework.boot.autoconfigure.session.MongoReactiveSessionConfiguration=org.springframework.boot.autoconfigure.session.MongoReactiveSessionConfiguration.ConditionalOnBean=org.springframework.data.mongodb.core.ReactiveMongoOperationsorg.springframework.boot.autoconfigure.session.MongoReactiveSessionConfiguration.ConditionalOnClass=org.springframework.data.mongodb.core.ReactiveMongoOperations,org.springframework.session.data.mongo.ReactiveMongoSessionRepositoryorg.springframework.boot.autoconfigure.session.MongoSessionConfiguration=org.springframework.boot.autoconfigure.session.MongoSessionConfiguration.ConditionalOnBean=org.springframework.data.mongodb.core.MongoOperationsorg.springframework.boot.autoconfigure.session.MongoSessionConfiguration.ConditionalOnClass=org.springframework.data.mongodb.core.MongoOperations,org.springframework.session.data.mongo.MongoIndexedSessionRepositoryorg.springframework.boot.autoconfigure.session.RedisReactiveSessionConfiguration=org.springframework.boot.autoconfigure.session.RedisReactiveSessionConfiguration.ConditionalOnBean=org.springframework.data.redis.connection.ReactiveRedisConnectionFactoryorg.springframework.boot.autoconfigure.session.RedisReactiveSessionConfiguration.ConditionalOnClass=org.springframework.data.redis.connection.ReactiveRedisConnectionFactory,org.springframework.session.data.redis.ReactiveRedisSessionRepositoryorg.springframework.boot.autoconfigure.session.RedisSessionConfiguration=org.springframework.boot.autoconfigure.session.RedisSessionConfiguration.ConditionalOnBean=org.springframework.data.redis.connection.RedisConnectionFactoryorg.springframework.boot.autoconfigure.session.RedisSessionConfiguration.ConditionalOnClass=org.springframework.data.redis.core.RedisTemplate,org.springframework.session.data.redis.RedisIndexedSessionRepositoryorg.springframework.boot.autoconfigure.session.SessionAutoConfiguration=org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$DefaultCookieSerializerCondition$CookieHttpSessionIdResolverAvailable=org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$DefaultCookieSerializerCondition$CookieHttpSessionIdResolverAvailable.ConditionalOnBean=org.springframework.session.web.http.CookieHttpSessionIdResolverorg.springframework.boot.autoconfigure.session.SessionAutoConfiguration$ReactiveSessionConfiguration=org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$ReactiveSessionConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.session.SessionAutoConfiguration$ServletSessionConfiguration=org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$ServletSessionConfiguration$RememberMeServicesConfiguration=org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$ServletSessionConfiguration$RememberMeServicesConfiguration.ConditionalOnClass=org.springframework.security.web.authentication.RememberMeServicesorg.springframework.boot.autoconfigure.session.SessionAutoConfiguration$ServletSessionConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.session.SessionAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration,org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration,org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration,org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfigurationorg.springframework.boot.autoconfigure.session.SessionAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfigurationorg.springframework.boot.autoconfigure.session.SessionAutoConfiguration.ConditionalOnClass=org.springframework.session.Sessionorg.springframework.boot.autoconfigure.session.SessionAutoConfiguration.ConditionalOnWebApplication=org.springframework.boot.autoconfigure.session.SessionRepositoryFilterConfiguration=org.springframework.boot.autoconfigure.session.SessionRepositoryFilterConfiguration.ConditionalOnBean=org.springframework.session.web.http.SessionRepositoryFilterorg.springframework.boot.autoconfigure.solr.SolrAutoConfiguration=org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration.ConditionalOnClass=org.apache.solr.client.solrj.impl.CloudSolrClient,org.apache.solr.client.solrj.impl.HttpSolrClientorg.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration=org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration.ConditionalOnClass=org.springframework.scheduling.concurrent.ThreadPoolTaskExecutororg.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration=org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfigurationorg.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration.ConditionalOnClass=org.springframework.scheduling.concurrent.ThreadPoolTaskSchedulerorg.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration=org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$DataAttributeDialectConfiguration=org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$DataAttributeDialectConfiguration.ConditionalOnClass=com.github.mxab.thymeleaf.extras.dataattribute.dialect.DataAttributeDialectorg.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafJava8TimeDialect=org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafJava8TimeDialect.ConditionalOnClass=org.thymeleaf.extras.java8time.dialect.Java8TimeDialectorg.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafReactiveConfiguration=org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafReactiveConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafSecurityDialectConfiguration=org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafSecurityDialectConfiguration.ConditionalOnClass=org.thymeleaf.extras.springsecurity5.dialect.SpringSecurityDialectorg.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafWebFluxConfiguration=org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafWebFluxConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafWebLayoutConfiguration=org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafWebLayoutConfiguration.ConditionalOnClass=nz.net.ultraq.thymeleaf.LayoutDialectorg.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafWebMvcConfiguration=org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration$ThymeleafWebMvcConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration,org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfigurationorg.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration.ConditionalOnClass=org.thymeleaf.spring5.SpringTemplateEngine,org.thymeleaf.templatemode.TemplateModeorg.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration=org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration$EnableTransactionManagementConfiguration=org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration$EnableTransactionManagementConfiguration.ConditionalOnBean=org.springframework.transaction.TransactionManagerorg.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration$TransactionTemplateConfiguration=org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration$TransactionTemplateConfiguration.ConditionalOnSingleCandidate=org.springframework.transaction.PlatformTransactionManagerorg.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfigurationorg.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration.ConditionalOnClass=org.springframework.transaction.PlatformTransactionManagerorg.springframework.boot.autoconfigure.transaction.jta.AtomikosJtaConfiguration=org.springframework.boot.autoconfigure.transaction.jta.AtomikosJtaConfiguration$AtomikosJtaJmsConfiguration=org.springframework.boot.autoconfigure.transaction.jta.AtomikosJtaConfiguration$AtomikosJtaJmsConfiguration.ConditionalOnClass=javax.jms.Messageorg.springframework.boot.autoconfigure.transaction.jta.AtomikosJtaConfiguration.ConditionalOnClass=com.atomikos.icatch.jta.UserTransactionManager,org.springframework.transaction.jta.JtaTransactionManagerorg.springframework.boot.autoconfigure.transaction.jta.BitronixJtaConfiguration=org.springframework.boot.autoconfigure.transaction.jta.BitronixJtaConfiguration$BitronixJtaJmsConfiguration=org.springframework.boot.autoconfigure.transaction.jta.BitronixJtaConfiguration$BitronixJtaJmsConfiguration.ConditionalOnClass=javax.jms.Messageorg.springframework.boot.autoconfigure.transaction.jta.BitronixJtaConfiguration.ConditionalOnClass=bitronix.tm.jndi.BitronixContext,org.springframework.transaction.jta.JtaTransactionManagerorg.springframework.boot.autoconfigure.transaction.jta.JndiJtaConfiguration=org.springframework.boot.autoconfigure.transaction.jta.JndiJtaConfiguration.ConditionalOnClass=org.springframework.transaction.jta.JtaTransactionManagerorg.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration=org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration,org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfigurationorg.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration.ConditionalOnClass=javax.transaction.Transactionorg.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration=org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration.ConditionalOnClass=javax.validation.executable.ExecutableValidatororg.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration=org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration$NotReactiveWebApplicationCondition$ReactiveWebApplication=org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration$NotReactiveWebApplicationCondition$ReactiveWebApplication.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfigurationorg.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration.ConditionalOnClass=org.springframework.web.client.RestTemplateorg.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration=org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration$JettyWebServerFactoryCustomizerConfiguration=org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration$JettyWebServerFactoryCustomizerConfiguration.ConditionalOnClass=org.eclipse.jetty.server.Server,org.eclipse.jetty.util.Loader,org.eclipse.jetty.webapp.WebAppContextorg.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration$NettyWebServerFactoryCustomizerConfiguration=org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration$NettyWebServerFactoryCustomizerConfiguration.ConditionalOnClass=reactor.netty.http.server.HttpServerorg.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration$TomcatWebServerFactoryCustomizerConfiguration=org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration$TomcatWebServerFactoryCustomizerConfiguration.ConditionalOnClass=org.apache.catalina.startup.Tomcat,org.apache.coyote.UpgradeProtocolorg.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration$UndertowWebServerFactoryCustomizerConfiguration=org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration$UndertowWebServerFactoryCustomizerConfiguration.ConditionalOnClass=io.undertow.Undertow,org.xnio.SslClientAuthModeorg.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration.ConditionalOnWebApplication=org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration=org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfigurationorg.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration.AutoConfigureOrder=-2147483638org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration.ConditionalOnClass=org.springframework.http.server.reactive.HttpHandler,org.springframework.web.reactive.DispatcherHandlerorg.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration=org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration.AutoConfigureOrder=-2147483648org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration.ConditionalOnClass=org.springframework.http.ReactiveHttpInputMessageorg.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryConfiguration$EmbeddedJetty=org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryConfiguration$EmbeddedJetty.ConditionalOnClass=org.eclipse.jetty.server.Server,org.eclipse.jetty.servlet.ServletHolderorg.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryConfiguration$EmbeddedNetty=org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryConfiguration$EmbeddedNetty.ConditionalOnClass=reactor.netty.http.server.HttpServerorg.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryConfiguration$EmbeddedTomcat=org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryConfiguration$EmbeddedTomcat.ConditionalOnClass=org.apache.catalina.startup.Tomcatorg.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryConfiguration$EmbeddedUndertow=org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryConfiguration$EmbeddedUndertow.ConditionalOnClass=io.undertow.Undertoworg.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration=org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration,org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration,org.springframework.boot.autoconfigure.validation.ValidationAutoConfigurationorg.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration.AutoConfigureOrder=-2147483638org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration.ConditionalOnClass=org.springframework.web.reactive.config.WebFluxConfigurerorg.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration=org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfigurationorg.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration.ConditionalOnClass=org.springframework.web.reactive.config.WebFluxConfigurerorg.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorAutoConfiguration=org.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorAutoConfiguration.ConditionalOnClass=org.springframework.web.reactive.function.client.WebClientorg.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorConfiguration$JettyClient=org.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorConfiguration$JettyClient.ConditionalOnClass=org.eclipse.jetty.reactive.client.ReactiveRequestorg.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorConfiguration$ReactorNetty=org.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorConfiguration$ReactorNetty.ConditionalOnClass=reactor.netty.http.client.HttpClientorg.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration=org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration$WebClientCodecsConfiguration=org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration$WebClientCodecsConfiguration.ConditionalOnBean=org.springframework.boot.web.codec.CodecCustomizerorg.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration,org.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorAutoConfigurationorg.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration.ConditionalOnClass=org.springframework.web.reactive.function.client.WebClientorg.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration=org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletConfiguration=org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletConfiguration.ConditionalOnClass=javax.servlet.ServletRegistrationorg.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletRegistrationConfiguration=org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletRegistrationConfiguration.ConditionalOnClass=javax.servlet.ServletRegistrationorg.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfigurationorg.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.AutoConfigureOrder=-2147483648org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.ConditionalOnClass=org.springframework.web.servlet.DispatcherServletorg.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration=org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration.ConditionalOnClass=org.springframework.web.filter.CharacterEncodingFilterorg.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration=org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration.ConditionalOnClass=javax.servlet.MultipartConfigElement,javax.servlet.Servlet,org.springframework.web.multipart.support.StandardServletMultipartResolverorg.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration=org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration.AutoConfigureOrder=-2147483648org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration.ConditionalOnClass=javax.servlet.ServletRequestorg.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration$EmbeddedJetty=org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration$EmbeddedJetty.ConditionalOnClass=javax.servlet.Servlet,org.eclipse.jetty.server.Server,org.eclipse.jetty.util.Loader,org.eclipse.jetty.webapp.WebAppContextorg.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration$EmbeddedTomcat=org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration$EmbeddedTomcat.ConditionalOnClass=javax.servlet.Servlet,org.apache.catalina.startup.Tomcat,org.apache.coyote.UpgradeProtocolorg.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration$EmbeddedUndertow=org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration$EmbeddedUndertow.ConditionalOnClass=io.undertow.Undertow,javax.servlet.Servlet,org.xnio.SslClientAuthModeorg.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration=org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration,org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration,org.springframework.boot.autoconfigure.validation.ValidationAutoConfigurationorg.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.AutoConfigureOrder=-2147483638org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.ConditionalOnClass=javax.servlet.Servlet,org.springframework.web.servlet.config.annotation.WebMvcConfigurer,org.springframework.web.servlet.DispatcherServletorg.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration=org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfigurationorg.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.ConditionalOnClass=javax.servlet.Servlet,org.springframework.web.servlet.DispatcherServletorg.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration=org.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfigurationorg.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration.ConditionalOnClass=org.springframework.ws.transport.http.MessageDispatcherServletorg.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.webservices.client.WebServiceTemplateAutoConfiguration=org.springframework.boot.autoconfigure.webservices.client.WebServiceTemplateAutoConfiguration.ConditionalOnClass=org.springframework.oxm.Marshaller,org.springframework.oxm.Unmarshaller,org.springframework.ws.client.core.WebServiceTemplateorg.springframework.boot.autoconfigure.websocket.reactive.WebSocketReactiveAutoConfiguration=org.springframework.boot.autoconfigure.websocket.reactive.WebSocketReactiveAutoConfiguration$TomcatWebSocketConfiguration=org.springframework.boot.autoconfigure.websocket.reactive.WebSocketReactiveAutoConfiguration$TomcatWebSocketConfiguration.ConditionalOnClass=org.apache.catalina.startup.Tomcat,org.apache.tomcat.websocket.server.WsSciorg.springframework.boot.autoconfigure.websocket.reactive.WebSocketReactiveAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfigurationorg.springframework.boot.autoconfigure.websocket.reactive.WebSocketReactiveAutoConfiguration.ConditionalOnClass=javax.servlet.Servlet,javax.websocket.server.ServerContainerorg.springframework.boot.autoconfigure.websocket.reactive.WebSocketReactiveAutoConfiguration.ConditionalOnWebApplication=REACTIVEorg.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration=org.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration$WebSocketMessageConverterConfiguration=org.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration$WebSocketMessageConverterConfiguration.ConditionalOnBean=org.springframework.web.socket.config.annotation.DelegatingWebSocketMessageBrokerConfiguration,com.fasterxml.jackson.databind.ObjectMapperorg.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration$WebSocketMessageConverterConfiguration.ConditionalOnClass=com.fasterxml.jackson.databind.ObjectMapper,org.springframework.messaging.simp.config.AbstractMessageBrokerConfigurationorg.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration.AutoConfigureAfter=org.springframework.boot.autoconfigure.jackson.JacksonAutoConfigurationorg.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration.ConditionalOnClass=org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurerorg.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration.ConditionalOnWebApplication=SERVLETorg.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration=org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration$JettyWebSocketConfiguration=org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration$JettyWebSocketConfiguration.ConditionalOnClass=org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializerorg.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration$TomcatWebSocketConfiguration=org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration$TomcatWebSocketConfiguration.ConditionalOnClass=org.apache.catalina.startup.Tomcat,org.apache.tomcat.websocket.server.WsSciorg.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration$UndertowWebSocketConfiguration=org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration$UndertowWebSocketConfiguration.ConditionalOnClass=io.undertow.websockets.jsr.Bootstraporg.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration.AutoConfigureBefore=org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfigurationorg.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration.ConditionalOnClass=javax.servlet.Servlet,javax.websocket.server.ServerContainerorg.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration.ConditionalOnWebApplication=SERVLET

可以看到有很多的条件判断,这里的条件判断和我们的注解形式是一样的,所以这也就解释了我们如何真正实现自动装配的设计思想,这里在提出一个问题,就是有些SpringBoot需要我们用户自定义一些东西,比如数据库连接地址,信息等等,这种配置我们如何实现外部化配置?我们将在下个章节进行介绍

 

标签:ConditionalOnClass,核心,SpringBootApplication,boot,autoconfigure,springframework,o
来源: https://blog.csdn.net/qq_33468007/article/details/111660871