当前位置: 首页 > news >正文

用html做登录网站wordpress分类目录去页眉

用html做登录网站,wordpress分类目录去页眉,科技部网站方案,乐天seo培训中心前言 如果SSM学的比较好#xff0c;那么SpringBoot说白了就两件事:约定大于配置和自动装配 SpringBoot不会提供任何的功能拓展#xff0c;完全依赖我们手动添加 所以SpringBoot的本质是一个依赖脚手架#xff0c;可以快速集成配置各种依赖 1.1 SpringBoot相关依赖 创建…前言 如果SSM学的比较好那么SpringBoot说白了就两件事:约定大于配置和自动装配 SpringBoot不会提供任何的功能拓展完全依赖我们手动添加 所以SpringBoot的本质是一个依赖脚手架可以快速集成配置各种依赖 1.1 SpringBoot相关依赖 创建maven项目引入spring‐boot‐starter‐parent和spring‐boot‐starter‐web两个依赖 parent groupIdorg.springframework.boot/groupId artifactIdspring‐boot‐starter‐parent/artifactId version1.5.9.RELEASE/version /parent dependencies dependencygroupIdorg.springframework.boot/groupIdartifactIdspring‐boot‐starter‐web/artifactId /dependency /dependencies 这两个是最核心的依赖其他的都是锦上添花 1.2 创建SpringBoor启动类项目名Application.java /** * SpringBootApplication 来标注一个主程序类说明这是一个Spring Boot应用 * SpringBoot项目从此类的main方法启动 */ SpringBootApplication public class HelloWorldMainApplication {public static void main(String[] args) {// Spring应用启动起来SpringApplication.run(HelloWorldMainApplication.class,args);} } 1.3 编写Controller并访问 Controller public class HelloController {ResponseBodyRequestMapping(/hello)public String hello(){return Hello World!;} } 我这里是改了端口默认是8080 1.4 部署SpringBoot项目 !--这个插件可以将应用打包成一个可执行的jar包--buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdexecutionsexecutiongoalsgoalrepackage/goal/goals/execution/executions/plugin/plugins/build repackage是此插件的5个goal之一而且是默认的goal。 在mvn package之后再次打包可执行的jar/war同时保留mvn package生成的jar/war为.origin重新打包存在的jar或者war包从而使他们可以在命令行使用jar -jar来执行使用layoutNONE也可以简单的打包有嵌套依赖的jar(没有主类所以无法执行)它可以替代常规的构件或者连接到构建生命周期并有独立的分级。 现在我们来试一试 运行package命令 找到target目录下查看package成功后的jar包 使用windows的命令行启动此jar包java -jar命令 注意启动之前先把IDEA的项目关闭否则会报错端口已被占用 java -jar -Xms128m -Xmx256m springBoot01-0.0.1-SNAPSHOT.jar 最小内存占用128MB最大内存占用256MB 访问9090端口 2.1 spring-boot-starter-parent的pom文件分析 有了这个parent标签之后dependencies中的很多dependency都不需要再指定版本整个pom文件的配置都清爽了很多。 那么都是哪些依赖不再需要我们手动指定版本了呢 spring-boot-starter-parent2.6.13pom文件源码 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancemodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion2.6.13/version/parentartifactIdspring-boot-starter-parent/artifactIdpackagingpom/packagingnamespring-boot-starter-parent/namedescriptionParent pom providing dependency and plugin management for applications built with Maven/descriptionpropertiesjava.version1.8/java.versionresource.delimiter/resource.delimitermaven.compiler.source${java.version}/maven.compiler.sourcemaven.compiler.target${java.version}/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncoding/propertiesurlhttps://spring.io/projects/spring-boot/urllicenseslicensenameApache License, Version 2.0/nameurlhttps://www.apache.org/licenses/LICENSE-2.0/url/license/licensesdevelopersdevelopernamePivotal/nameemailinfopivotal.io/emailorganizationPivotal Software, Inc./organizationorganizationUrlhttps://www.spring.io/organizationUrl/developer/developersscmurlhttps://github.com/spring-projects/spring-boot/url/scmbuildresourcesresourcedirectory${basedir}/src/main/resources/directoryfilteringtrue/filteringincludesinclude**/application*.yml/includeinclude**/application*.yaml/includeinclude**/application*.properties/include/includes/resourceresourcedirectory${basedir}/src/main/resources/directoryexcludesexclude**/application*.yml/excludeexclude**/application*.yaml/excludeexclude**/application*.properties/exclude/excludes/resource/resourcespluginManagementpluginsplugingroupIdorg.jetbrains.kotlin/groupIdartifactIdkotlin-maven-plugin/artifactIdversion${kotlin.version}/versionconfigurationjvmTarget${java.version}/jvmTargetjavaParameterstrue/javaParameters/configurationexecutionsexecutionidcompile/idphasecompile/phasegoalsgoalcompile/goal/goals/executionexecutionidtest-compile/idphasetest-compile/phasegoalsgoaltest-compile/goal/goals/execution/executions/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdconfigurationparameterstrue/parameters/configuration/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-failsafe-plugin/artifactIdexecutionsexecutiongoalsgoalintegration-test/goalgoalverify/goal/goals/execution/executionsconfigurationclassesDirectory${project.build.outputDirectory}/classesDirectory/configuration/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-jar-plugin/artifactIdconfigurationarchivemanifestmainClass${start-class}/mainClassaddDefaultImplementationEntriestrue/addDefaultImplementationEntries/manifest/archive/configuration/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-war-plugin/artifactIdconfigurationarchivemanifestmainClass${start-class}/mainClassaddDefaultImplementationEntriestrue/addDefaultImplementationEntries/manifest/archive/configuration/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-resources-plugin/artifactIdconfigurationpropertiesEncoding${project.build.sourceEncoding}/propertiesEncodingdelimitersdelimiter${resource.delimiter}/delimiter/delimitersuseDefaultDelimitersfalse/useDefaultDelimiters/configuration/pluginplugingroupIdpl.project13.maven/groupIdartifactIdgit-commit-id-plugin/artifactIdexecutionsexecutiongoalsgoalrevision/goal/goals/execution/executionsconfigurationverbosetrue/verbosedateFormatyyyy-MM-ddTHH:mm:ssZ/dateFormatgenerateGitPropertiesFiletrue/generateGitPropertiesFilegenerateGitPropertiesFilename${project.build.outputDirectory}/git.properties/generateGitPropertiesFilename/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdexecutionsexecutionidrepackage/idgoalsgoalrepackage/goal/goals/execution/executionsconfigurationmainClass${start-class}/mainClass/configuration/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-shade-plugin/artifactIdconfigurationkeepDependenciesWithProvidedScopetrue/keepDependenciesWithProvidedScopecreateDependencyReducedPomtrue/createDependencyReducedPomfiltersfilterartifact*:*/artifactexcludesexcludeMETA-INF/*.SF/excludeexcludeMETA-INF/*.DSA/excludeexcludeMETA-INF/*.RSA/exclude/excludes/filter/filters/configurationdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion2.6.13/version/dependency/dependenciesexecutionsexecutionphasepackage/phasegoalsgoalshade/goal/goalsconfigurationtransformerstransformer implementationorg.apache.maven.plugins.shade.resource.AppendingTransformerresourceMETA-INF/spring.handlers/resource/transformertransformer implementationorg.springframework.boot.maven.PropertiesMergingResourceTransformerresourceMETA-INF/spring.factories/resource/transformertransformer implementationorg.apache.maven.plugins.shade.resource.AppendingTransformerresourceMETA-INF/spring.schemas/resource/transformertransformer implementationorg.apache.maven.plugins.shade.resource.ServicesResourceTransformer/transformer implementationorg.apache.maven.plugins.shade.resource.ManifestResourceTransformermainClass${start-class}/mainClass/transformer/transformers/configuration/execution/executions/plugin/plugins/pluginManagement/build /project 我们可以看到spring-boot-starter-parent其实也是依靠其他pom文件的依赖实现自己的依赖功能的 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion2.6.13/version/parentspring-boot-dependencies来真正管理Spring Boot应用里面的所有依赖版本 spring-boot-dependencies是Spring Boot的版本仲裁中心 spring-boot-dependencies2.6.13的pom源码 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancemodelVersion4.0.0/modelVersiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion2.6.13/versionpackagingpom/packagingnamespring-boot-dependencies/namedescriptionSpring Boot Dependencies/descriptionurlhttps://spring.io/projects/spring-boot/urllicenseslicensenameApache License, Version 2.0/nameurlhttps://www.apache.org/licenses/LICENSE-2.0/url/license/licensesdevelopersdevelopernamePivotal/nameemailinfopivotal.io/emailorganizationPivotal Software, Inc./organizationorganizationUrlhttps://www.spring.io/organizationUrl/developer/developersscmurlhttps://github.com/spring-projects/spring-boot/url/scmpropertiesactivemq.version5.16.5/activemq.versionantlr2.version2.7.7/antlr2.versionappengine-sdk.version1.9.98/appengine-sdk.versionartemis.version2.19.1/artemis.versionaspectj.version1.9.7/aspectj.versionassertj.version3.21.0/assertj.versionatomikos.version4.0.6/atomikos.versionawaitility.version4.1.1/awaitility.versionbuild-helper-maven-plugin.version3.2.0/build-helper-maven-plugin.versionbyte-buddy.version1.11.22/byte-buddy.versioncaffeine.version2.9.3/caffeine.versioncassandra-driver.version4.13.0/cassandra-driver.versionclassmate.version1.5.1/classmate.versioncommons-codec.version1.15/commons-codec.versioncommons-dbcp2.version2.9.0/commons-dbcp2.versioncommons-lang3.version3.12.0/commons-lang3.versioncommons-pool.version1.6/commons-pool.versioncommons-pool2.version2.11.1/commons-pool2.versioncouchbase-client.version3.2.7/couchbase-client.versiondb2-jdbc.version11.5.7.0/db2-jdbc.versiondependency-management-plugin.version1.0.15.RELEASE/dependency-management-plugin.versionderby.version10.14.2.0/derby.versiondropwizard-metrics.version4.2.12/dropwizard-metrics.versionehcache.version2.10.9.2/ehcache.versionehcache3.version3.9.10/ehcache3.versionelasticsearch.version7.15.2/elasticsearch.versionembedded-mongo.version3.0.0/embedded-mongo.versionflyway.version8.0.5/flyway.versionfreemarker.version2.3.31/freemarker.versiongit-commit-id-plugin.version4.9.10/git-commit-id-plugin.versionglassfish-el.version3.0.4/glassfish-el.versionglassfish-jaxb.version2.3.7/glassfish-jaxb.versionglassfish-jstl.version1.2.6/glassfish-jstl.versiongroovy.version3.0.13/groovy.versiongson.version2.8.9/gson.versionh2.version1.4.200/h2.versionhamcrest.version2.2/hamcrest.versionhazelcast.version4.2.5/hazelcast.versionhazelcast-hibernate5.version2.2.1/hazelcast-hibernate5.versionhibernate.version5.6.12.Final/hibernate.versionhibernate-validator.version6.2.5.Final/hibernate-validator.versionhikaricp.version4.0.3/hikaricp.versionhsqldb.version2.5.2/hsqldb.versionhtmlunit.version2.54.0/htmlunit.versionhttpasyncclient.version4.1.5/httpasyncclient.versionhttpclient.version4.5.13/httpclient.versionhttpclient5.version5.1.3/httpclient5.versionhttpcore.version4.4.15/httpcore.versionhttpcore5.version5.1.4/httpcore5.versioninfinispan.version12.1.12.Final/infinispan.versioninfluxdb-java.version2.22/influxdb-java.versionjackson-bom.version2.13.4.20221013/jackson-bom.versionjakarta-activation.version1.2.2/jakarta-activation.versionjakarta-annotation.version1.3.5/jakarta-annotation.versionjakarta-jms.version2.0.3/jakarta-jms.versionjakarta-json.version1.1.6/jakarta-json.versionjakarta-json-bind.version1.0.2/jakarta-json-bind.versionjakarta-mail.version1.6.7/jakarta-mail.versionjakarta-management.version1.1.4/jakarta-management.versionjakarta-persistence.version2.2.3/jakarta-persistence.versionjakarta-servlet.version4.0.4/jakarta-servlet.versionjakarta-servlet-jsp-jstl.version1.2.7/jakarta-servlet-jsp-jstl.versionjakarta-transaction.version1.3.3/jakarta-transaction.versionjakarta-validation.version2.0.2/jakarta-validation.versionjakarta-websocket.version1.1.2/jakarta-websocket.versionjakarta-ws-rs.version2.1.6/jakarta-ws-rs.versionjakarta-xml-bind.version2.3.3/jakarta-xml-bind.versionjakarta-xml-soap.version1.4.2/jakarta-xml-soap.versionjakarta-xml-ws.version2.3.3/jakarta-xml-ws.versionjanino.version3.1.8/janino.versionjavax-activation.version1.2.0/javax-activation.versionjavax-annotation.version1.3.2/javax-annotation.versionjavax-cache.version1.1.1/javax-cache.versionjavax-jaxb.version2.3.1/javax-jaxb.versionjavax-jaxws.version2.3.1/javax-jaxws.versionjavax-jms.version2.0.1/javax-jms.versionjavax-json.version1.1.4/javax-json.versionjavax-jsonb.version1.0/javax-jsonb.versionjavax-mail.version1.6.2/javax-mail.versionjavax-money.version1.1/javax-money.versionjavax-persistence.version2.2/javax-persistence.versionjavax-transaction.version1.3/javax-transaction.versionjavax-validation.version2.0.1.Final/javax-validation.versionjavax-websocket.version1.1/javax-websocket.versionjaxen.version1.2.0/jaxen.versionjaybird.version4.0.6.java8/jaybird.versionjboss-logging.version3.4.3.Final/jboss-logging.versionjdom2.version2.0.6.1/jdom2.versionjedis.version3.7.1/jedis.versionjersey.version2.35/jersey.versionjetty-el.version9.0.52/jetty-el.versionjetty-jsp.version2.2.0.v201112011158/jetty-jsp.versionjetty-reactive-httpclient.version1.1.13/jetty-reactive-httpclient.versionjetty.version9.4.49.v20220914/jetty.versionjmustache.version1.15/jmustache.versionjohnzon.version1.2.19/johnzon.versionjolokia.version1.7.1/jolokia.versionjooq.version3.14.16/jooq.versionjson-path.version2.6.0/json-path.versionjson-smart.version2.4.8/json-smart.versionjsonassert.version1.5.1/jsonassert.versionjstl.version1.2/jstl.versionjtds.version1.3.1/jtds.versionjunit.version4.13.2/junit.versionjunit-jupiter.version5.8.2/junit-jupiter.versionkafka.version3.0.2/kafka.versionkotlin.version1.6.21/kotlin.versionkotlin-coroutines.version1.5.2/kotlin-coroutines.versionlettuce.version6.1.10.RELEASE/lettuce.versionliquibase.version4.5.0/liquibase.versionlog4j2.version2.17.2/log4j2.versionlogback.version1.2.11/logback.versionlombok.version1.18.24/lombok.versionmariadb.version2.7.6/mariadb.versionmaven-antrun-plugin.version3.0.0/maven-antrun-plugin.versionmaven-assembly-plugin.version3.3.0/maven-assembly-plugin.versionmaven-clean-plugin.version3.1.0/maven-clean-plugin.versionmaven-compiler-plugin.version3.8.1/maven-compiler-plugin.versionmaven-dependency-plugin.version3.2.0/maven-dependency-plugin.versionmaven-deploy-plugin.version2.8.2/maven-deploy-plugin.versionmaven-enforcer-plugin.version3.0.0/maven-enforcer-plugin.versionmaven-failsafe-plugin.version2.22.2/maven-failsafe-plugin.versionmaven-help-plugin.version3.2.0/maven-help-plugin.versionmaven-install-plugin.version2.5.2/maven-install-plugin.versionmaven-invoker-plugin.version3.2.2/maven-invoker-plugin.versionmaven-jar-plugin.version3.2.2/maven-jar-plugin.versionmaven-javadoc-plugin.version3.3.2/maven-javadoc-plugin.versionmaven-resources-plugin.version3.2.0/maven-resources-plugin.versionmaven-shade-plugin.version3.2.4/maven-shade-plugin.versionmaven-source-plugin.version3.2.1/maven-source-plugin.versionmaven-surefire-plugin.version2.22.2/maven-surefire-plugin.versionmaven-war-plugin.version3.3.2/maven-war-plugin.versionmicrometer.version1.8.11/micrometer.versionmimepull.version1.9.15/mimepull.versionmockito.version4.0.0/mockito.versionmongodb.version4.4.2/mongodb.versionmssql-jdbc.version9.4.1.jre8/mssql-jdbc.versionmysql.version8.0.31/mysql.versionnekohtml.version1.9.22/nekohtml.versionneo4j-java-driver.version4.4.9/neo4j-java-driver.versionnetty.version4.1.84.Final/netty.versionnetty-tcnative.version2.0.54.Final/netty-tcnative.versionokhttp3.version3.14.9/okhttp3.versionoracle-database.version21.3.0.0/oracle-database.versionpooled-jms.version1.2.4/pooled-jms.versionpostgresql.version42.3.7/postgresql.versionprometheus-client.version0.12.0/prometheus-client.versionquartz.version2.3.2/quartz.versionquerydsl.version5.0.0/querydsl.versionr2dbc-bom.versionArabba-SR13/r2dbc-bom.versionrabbit-amqp-client.version5.13.1/rabbit-amqp-client.versionrabbit-stream-client.version0.4.0/rabbit-stream-client.versionreactive-streams.version1.0.4/reactive-streams.versionreactor-bom.version2020.0.24/reactor-bom.versionrest-assured.version4.4.0/rest-assured.versionrsocket.version1.1.3/rsocket.versionrxjava.version1.3.8/rxjava.versionrxjava-adapter.version1.2.1/rxjava-adapter.versionrxjava2.version2.2.21/rxjava2.versionsaaj-impl.version1.5.3/saaj-impl.versionselenium.version3.141.59/selenium.versionselenium-htmlunit.version2.54.0/selenium-htmlunit.versionsendgrid.version4.7.6/sendgrid.versionservlet-api.version4.0.1/servlet-api.versionslf4j.version1.7.36/slf4j.versionsnakeyaml.version1.29/snakeyaml.versionsolr.version8.8.2/solr.versionspring-amqp.version2.4.7/spring-amqp.versionspring-batch.version4.3.7/spring-batch.versionspring-data-bom.version2021.1.9/spring-data-bom.versionspring-framework.version5.3.23/spring-framework.versionspring-hateoas.version1.4.5/spring-hateoas.versionspring-integration.version5.5.15/spring-integration.versionspring-kafka.version2.8.10/spring-kafka.versionspring-ldap.version2.3.8.RELEASE/spring-ldap.versionspring-restdocs.version2.0.6.RELEASE/spring-restdocs.versionspring-retry.version1.3.4/spring-retry.versionspring-security.version5.6.8/spring-security.versionspring-session-bom.version2021.1.3/spring-session-bom.versionspring-ws.version3.1.3/spring-ws.versionsqlite-jdbc.version3.36.0.3/sqlite-jdbc.versionsun-mail.version1.6.7/sun-mail.versionthymeleaf.version3.0.15.RELEASE/thymeleaf.versionthymeleaf-extras-data-attribute.version2.0.1/thymeleaf-extras-data-attribute.versionthymeleaf-extras-java8time.version3.0.4.RELEASE/thymeleaf-extras-java8time.versionthymeleaf-extras-springsecurity.version3.0.4.RELEASE/thymeleaf-extras-springsecurity.versionthymeleaf-layout-dialect.version3.0.0/thymeleaf-layout-dialect.versiontomcat.version9.0.68/tomcat.versionunboundid-ldapsdk.version4.0.14/unboundid-ldapsdk.versionundertow.version2.2.20.Final/undertow.versionversions-maven-plugin.version2.8.1/versions-maven-plugin.versionwebjars-locator-core.version0.48/webjars-locator-core.versionwsdl4j.version1.6.3/wsdl4j.versionxml-maven-plugin.version1.0.2/xml-maven-plugin.versionxmlunit2.version2.8.4/xmlunit2.version/propertiesdependencyManagementdependenciesdependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-amqp/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-blueprint/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-broker/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-camel/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-client/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-console/artifactIdversion${activemq.version}/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-http/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-jaas/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-jdbc-store/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-jms-pool/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-kahadb-store/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-karaf/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-leveldb-store/artifactIdversion${activemq.version}/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-log4j-appender/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-mqtt/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-openwire-generator/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-openwire-legacy/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-osgi/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-partition/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-pool/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-ra/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-run/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-runtime-config/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-shiro/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-spring/artifactIdversion${activemq.version}/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-stomp/artifactIdversion${activemq.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-web/artifactIdversion${activemq.version}/version/dependencydependencygroupIdantlr/groupIdartifactIdantlr/artifactIdversion${antlr2.version}/version/dependencydependencygroupIdcom.google.appengine/groupIdartifactIdappengine-api-1.0-sdk/artifactIdversion${appengine-sdk.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdartemis-amqp-protocol/artifactIdversion${artemis.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdartemis-commons/artifactIdversion${artemis.version}/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdartemis-core-client/artifactIdversion${artemis.version}/versionexclusionsexclusiongroupIdorg.apache.geronimo.specs/groupIdartifactIdgeronimo-json_1.0_spec/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdartemis-jdbc-store/artifactIdversion${artemis.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdartemis-jms-client/artifactIdversion${artemis.version}/versionexclusionsexclusiongroupIdorg.apache.geronimo.specs/groupIdartifactIdgeronimo-json_1.0_spec/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdartemis-jms-server/artifactIdversion${artemis.version}/versionexclusionsexclusiongroupIdorg.apache.geronimo.specs/groupIdartifactIdgeronimo-json_1.0_spec/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdartemis-journal/artifactIdversion${artemis.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdartemis-quorum-api/artifactIdversion${artemis.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdartemis-selector/artifactIdversion${artemis.version}/version/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdartemis-server/artifactIdversion${artemis.version}/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusionexclusiongroupIdorg.apache.geronimo.specs/groupIdartifactIdgeronimo-json_1.0_spec/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.activemq/groupIdartifactIdartemis-service-extensions/artifactIdversion${artemis.version}/version/dependencydependencygroupIdorg.aspectj/groupIdartifactIdaspectjrt/artifactIdversion${aspectj.version}/version/dependencydependencygroupIdorg.aspectj/groupIdartifactIdaspectjtools/artifactIdversion${aspectj.version}/version/dependencydependencygroupIdorg.aspectj/groupIdartifactIdaspectjweaver/artifactIdversion${aspectj.version}/version/dependencydependencygroupIdorg.assertj/groupIdartifactIdassertj-core/artifactIdversion${assertj.version}/version/dependencydependencygroupIdcom.atomikos/groupIdartifactIdtransactions-jdbc/artifactIdversion${atomikos.version}/version/dependencydependencygroupIdcom.atomikos/groupIdartifactIdtransactions-jms/artifactIdversion${atomikos.version}/version/dependencydependencygroupIdcom.atomikos/groupIdartifactIdtransactions-jta/artifactIdversion${atomikos.version}/version/dependencydependencygroupIdorg.awaitility/groupIdartifactIdawaitility/artifactIdversion${awaitility.version}/version/dependencydependencygroupIdorg.awaitility/groupIdartifactIdawaitility-groovy/artifactIdversion${awaitility.version}/version/dependencydependencygroupIdorg.awaitility/groupIdartifactIdawaitility-kotlin/artifactIdversion${awaitility.version}/version/dependencydependencygroupIdorg.awaitility/groupIdartifactIdawaitility-scala/artifactIdversion${awaitility.version}/version/dependencydependencygroupIdnet.bytebuddy/groupIdartifactIdbyte-buddy/artifactIdversion${byte-buddy.version}/version/dependencydependencygroupIdnet.bytebuddy/groupIdartifactIdbyte-buddy-agent/artifactIdversion${byte-buddy.version}/version/dependencydependencygroupIdcom.github.ben-manes.caffeine/groupIdartifactIdcaffeine/artifactIdversion${caffeine.version}/version/dependencydependencygroupIdcom.github.ben-manes.caffeine/groupIdartifactIdguava/artifactIdversion${caffeine.version}/version/dependencydependencygroupIdcom.github.ben-manes.caffeine/groupIdartifactIdjcache/artifactIdversion${caffeine.version}/version/dependencydependencygroupIdcom.github.ben-manes.caffeine/groupIdartifactIdsimulator/artifactIdversion${caffeine.version}/version/dependencydependencygroupIdcom.datastax.oss/groupIdartifactIdjava-driver-core/artifactIdversion${cassandra-driver.version}/versionexclusionsexclusiongroupIdorg.slf4j/groupIdartifactIdjcl-over-slf4j/artifactId/exclusion/exclusions/dependencydependencygroupIdcom.fasterxml/groupIdartifactIdclassmate/artifactIdversion${classmate.version}/version/dependencydependencygroupIdcommons-codec/groupIdartifactIdcommons-codec/artifactIdversion${commons-codec.version}/version/dependencydependencygroupIdorg.apache.commons/groupIdartifactIdcommons-dbcp2/artifactIdversion${commons-dbcp2.version}/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.commons/groupIdartifactIdcommons-lang3/artifactIdversion${commons-lang3.version}/version/dependencydependencygroupIdcommons-pool/groupIdartifactIdcommons-pool/artifactIdversion${commons-pool.version}/version/dependencydependencygroupIdorg.apache.commons/groupIdartifactIdcommons-pool2/artifactIdversion${commons-pool2.version}/version/dependencydependencygroupIdcom.couchbase.client/groupIdartifactIdjava-client/artifactIdversion${couchbase-client.version}/version/dependencydependencygroupIdcom.ibm.db2/groupIdartifactIdjcc/artifactIdversion${db2-jdbc.version}/version/dependencydependencygroupIdio.spring.gradle/groupIdartifactIddependency-management-plugin/artifactIdversion${dependency-management-plugin.version}/version/dependencydependencygroupIdorg.apache.derby/groupIdartifactIdderby/artifactIdversion${derby.version}/version/dependencydependencygroupIdorg.apache.derby/groupIdartifactIdderbyclient/artifactIdversion${derby.version}/version/dependencydependencygroupIdorg.apache.derby/groupIdartifactIdderbynet/artifactIdversion${derby.version}/version/dependencydependencygroupIdorg.apache.derby/groupIdartifactIdderbyoptionaltools/artifactIdversion${derby.version}/version/dependencydependencygroupIdorg.apache.derby/groupIdartifactIdderbytools/artifactIdversion${derby.version}/version/dependencydependencygroupIdnet.sf.ehcache/groupIdartifactIdehcache/artifactIdversion${ehcache.version}/version/dependencydependencygroupIdorg.ehcache/groupIdartifactIdehcache/artifactIdversion${ehcache3.version}/version/dependencydependencygroupIdorg.ehcache/groupIdartifactIdehcache-clustered/artifactIdversion${ehcache3.version}/version/dependencydependencygroupIdorg.ehcache/groupIdartifactIdehcache-transactions/artifactIdversion${ehcache3.version}/version/dependencydependencygroupIdorg.elasticsearch/groupIdartifactIdelasticsearch/artifactIdversion${elasticsearch.version}/version/dependencydependencygroupIdorg.elasticsearch.client/groupIdartifactIdtransport/artifactIdversion${elasticsearch.version}/version/dependencydependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-client/artifactIdversion${elasticsearch.version}/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-client-sniffer/artifactIdversion${elasticsearch.version}/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-high-level-client/artifactIdversion${elasticsearch.version}/version/dependencydependencygroupIdorg.elasticsearch.distribution.integ-test-zip/groupIdartifactIdelasticsearch/artifactIdversion${elasticsearch.version}/versiontypezip/type/dependencydependencygroupIdorg.elasticsearch.plugin/groupIdartifactIdtransport-netty4-client/artifactIdversion${elasticsearch.version}/version/dependencydependencygroupIdde.flapdoodle.embed/groupIdartifactIdde.flapdoodle.embed.mongo/artifactIdversion${embedded-mongo.version}/version/dependencydependencygroupIdorg.flywaydb/groupIdartifactIdflyway-core/artifactIdversion${flyway.version}/version/dependencydependencygroupIdorg.freemarker/groupIdartifactIdfreemarker/artifactIdversion${freemarker.version}/version/dependencydependencygroupIdorg.glassfish/groupIdartifactIdjakarta.el/artifactIdversion${glassfish-el.version}/version/dependencydependencygroupIdorg.glassfish.jaxb/groupIdartifactIdcodemodel/artifactIdversion${glassfish-jaxb.version}/version/dependencydependencygroupIdorg.glassfish.jaxb/groupIdartifactIdcodemodel-annotation-compiler/artifactIdversion${glassfish-jaxb.version}/version/dependencydependencygroupIdorg.glassfish.jaxb/groupIdartifactIdjaxb-jxc/artifactIdversion${glassfish-jaxb.version}/version/dependencydependencygroupIdorg.glassfish.jaxb/groupIdartifactIdjaxb-runtime/artifactIdversion${glassfish-jaxb.version}/version/dependencydependencygroupIdorg.glassfish.jaxb/groupIdartifactIdjaxb-xjc/artifactIdversion${glassfish-jaxb.version}/version/dependencydependencygroupIdorg.glassfish.jaxb/groupIdartifactIdtxw2/artifactIdversion${glassfish-jaxb.version}/version/dependencydependencygroupIdorg.glassfish.jaxb/groupIdartifactIdtxwc2/artifactIdversion${glassfish-jaxb.version}/version/dependencydependencygroupIdorg.glassfish.jaxb/groupIdartifactIdxsom/artifactIdversion${glassfish-jaxb.version}/version/dependencydependencygroupIdorg.glassfish.web/groupIdartifactIdjakarta.servlet.jsp.jstl/artifactIdversion${glassfish-jstl.version}/version/dependencydependencygroupIdcom.google.code.gson/groupIdartifactIdgson/artifactIdversion${gson.version}/version/dependencydependencygroupIdcom.h2database/groupIdartifactIdh2/artifactIdversion${h2.version}/version/dependencydependencygroupIdorg.hamcrest/groupIdartifactIdhamcrest/artifactIdversion${hamcrest.version}/version/dependencydependencygroupIdorg.hamcrest/groupIdartifactIdhamcrest-core/artifactIdversion${hamcrest.version}/version/dependencydependencygroupIdorg.hamcrest/groupIdartifactIdhamcrest-library/artifactIdversion${hamcrest.version}/version/dependencydependencygroupIdcom.hazelcast/groupIdartifactIdhazelcast/artifactIdversion${hazelcast.version}/version/dependencydependencygroupIdcom.hazelcast/groupIdartifactIdhazelcast-spring/artifactIdversion${hazelcast.version}/version/dependencydependencygroupIdcom.hazelcast/groupIdartifactIdhazelcast-hibernate52/artifactIdversion${hazelcast-hibernate5.version}/version/dependencydependencygroupIdcom.hazelcast/groupIdartifactIdhazelcast-hibernate53/artifactIdversion${hazelcast-hibernate5.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-c3p0/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-core/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-ehcache/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-entitymanager/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-envers/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-hikaricp/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-java8/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-jcache/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-jpamodelgen/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-micrometer/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-proxool/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-spatial/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-testing/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate/groupIdartifactIdhibernate-vibur/artifactIdversion${hibernate.version}/version/dependencydependencygroupIdorg.hibernate.validator/groupIdartifactIdhibernate-validator/artifactIdversion${hibernate-validator.version}/version/dependencydependencygroupIdorg.hibernate.validator/groupIdartifactIdhibernate-validator-annotation-processor/artifactIdversion${hibernate-validator.version}/version/dependencydependencygroupIdcom.zaxxer/groupIdartifactIdHikariCP/artifactIdversion${hikaricp.version}/version/dependencydependencygroupIdorg.hsqldb/groupIdartifactIdhsqldb/artifactIdversion${hsqldb.version}/version/dependencydependencygroupIdnet.sourceforge.htmlunit/groupIdartifactIdhtmlunit/artifactIdversion${htmlunit.version}/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpasyncclient/artifactIdversion${httpasyncclient.version}/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdfluent-hc/artifactIdversion${httpclient.version}/version/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpclient/artifactIdversion${httpclient.version}/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpclient-cache/artifactIdversion${httpclient.version}/version/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpclient-osgi/artifactIdversion${httpclient.version}/version/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpclient-win/artifactIdversion${httpclient.version}/version/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpmime/artifactIdversion${httpclient.version}/version/dependencydependencygroupIdorg.apache.httpcomponents.client5/groupIdartifactIdhttpclient5/artifactIdversion${httpclient5.version}/version/dependencydependencygroupIdorg.apache.httpcomponents.client5/groupIdartifactIdhttpclient5-cache/artifactIdversion${httpclient5.version}/version/dependencydependencygroupIdorg.apache.httpcomponents.client5/groupIdartifactIdhttpclient5-fluent/artifactIdversion${httpclient5.version}/version/dependencydependencygroupIdorg.apache.httpcomponents.client5/groupIdartifactIdhttpclient5-win/artifactIdversion${httpclient5.version}/version/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpcore/artifactIdversion${httpcore.version}/version/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpcore-nio/artifactIdversion${httpcore.version}/version/dependencydependencygroupIdorg.apache.httpcomponents.core5/groupIdartifactIdhttpcore5/artifactIdversion${httpcore5.version}/version/dependencydependencygroupIdorg.apache.httpcomponents.core5/groupIdartifactIdhttpcore5-h2/artifactIdversion${httpcore5.version}/version/dependencydependencygroupIdorg.apache.httpcomponents.core5/groupIdartifactIdhttpcore5-reactive/artifactIdversion${httpcore5.version}/version/dependencydependencygroupIdorg.influxdb/groupIdartifactIdinfluxdb-java/artifactIdversion${influxdb-java.version}/version/dependencydependencygroupIdcom.sun.activation/groupIdartifactIdjakarta.activation/artifactIdversion${jakarta-activation.version}/version/dependencydependencygroupIdjakarta.activation/groupIdartifactIdjakarta.activation-api/artifactIdversion${jakarta-activation.version}/version/dependencydependencygroupIdjakarta.annotation/groupIdartifactIdjakarta.annotation-api/artifactIdversion${jakarta-annotation.version}/version/dependencydependencygroupIdjakarta.jms/groupIdartifactIdjakarta.jms-api/artifactIdversion${jakarta-jms.version}/version/dependencydependencygroupIdjakarta.json/groupIdartifactIdjakarta.json-api/artifactIdversion${jakarta-json.version}/version/dependencydependencygroupIdjakarta.json.bind/groupIdartifactIdjakarta.json.bind-api/artifactIdversion${jakarta-json-bind.version}/version/dependencydependencygroupIdjakarta.mail/groupIdartifactIdjakarta.mail-api/artifactIdversion${jakarta-mail.version}/version/dependencydependencygroupIdjakarta.management.j2ee/groupIdartifactIdjakarta.management.j2ee-api/artifactIdversion${jakarta-management.version}/version/dependencydependencygroupIdjakarta.persistence/groupIdartifactIdjakarta.persistence-api/artifactIdversion${jakarta-persistence.version}/version/dependencydependencygroupIdjakarta.servlet/groupIdartifactIdjakarta.servlet-api/artifactIdversion${jakarta-servlet.version}/version/dependencydependencygroupIdjakarta.servlet.jsp.jstl/groupIdartifactIdjakarta.servlet.jsp.jstl-api/artifactIdversion${jakarta-servlet-jsp-jstl.version}/version/dependencydependencygroupIdjakarta.transaction/groupIdartifactIdjakarta.transaction-api/artifactIdversion${jakarta-transaction.version}/version/dependencydependencygroupIdjakarta.validation/groupIdartifactIdjakarta.validation-api/artifactIdversion${jakarta-validation.version}/version/dependencydependencygroupIdjakarta.websocket/groupIdartifactIdjakarta.websocket-api/artifactIdversion${jakarta-websocket.version}/version/dependencydependencygroupIdjakarta.ws.rs/groupIdartifactIdjakarta.ws.rs-api/artifactIdversion${jakarta-ws-rs.version}/version/dependencydependencygroupIdjakarta.xml.bind/groupIdartifactIdjakarta.xml.bind-api/artifactIdversion${jakarta-xml-bind.version}/version/dependencydependencygroupIdjakarta.xml.soap/groupIdartifactIdjakarta.xml.soap-api/artifactIdversion${jakarta-xml-soap.version}/version/dependencydependencygroupIdjakarta.xml.ws/groupIdartifactIdjakarta.xml.ws-api/artifactIdversion${jakarta-xml-ws.version}/version/dependencydependencygroupIdorg.codehaus.janino/groupIdartifactIdcommons-compiler/artifactIdversion${janino.version}/version/dependencydependencygroupIdorg.codehaus.janino/groupIdartifactIdcommons-compiler-jdk/artifactIdversion${janino.version}/version/dependencydependencygroupIdorg.codehaus.janino/groupIdartifactIdjanino/artifactIdversion${janino.version}/version/dependencydependencygroupIdjavax.activation/groupIdartifactIdjavax.activation-api/artifactIdversion${javax-activation.version}/version/dependencydependencygroupIdjavax.annotation/groupIdartifactIdjavax.annotation-api/artifactIdversion${javax-annotation.version}/version/dependencydependencygroupIdjavax.cache/groupIdartifactIdcache-api/artifactIdversion${javax-cache.version}/version/dependencydependencygroupIdjavax.xml.bind/groupIdartifactIdjaxb-api/artifactIdversion${javax-jaxb.version}/version/dependencydependencygroupIdjavax.xml.ws/groupIdartifactIdjaxws-api/artifactIdversion${javax-jaxws.version}/version/dependencydependencygroupIdjavax.jms/groupIdartifactIdjavax.jms-api/artifactIdversion${javax-jms.version}/version/dependencydependencygroupIdjavax.json/groupIdartifactIdjavax.json-api/artifactIdversion${javax-json.version}/version/dependencydependencygroupIdjavax.json.bind/groupIdartifactIdjavax.json.bind-api/artifactIdversion${javax-jsonb.version}/version/dependencydependencygroupIdjavax.mail/groupIdartifactIdjavax.mail-api/artifactIdversion${javax-mail.version}/version/dependencydependencygroupIdjavax.money/groupIdartifactIdmoney-api/artifactIdversion${javax-money.version}/version/dependencydependencygroupIdjavax.persistence/groupIdartifactIdjavax.persistence-api/artifactIdversion${javax-persistence.version}/version/dependencydependencygroupIdjavax.transaction/groupIdartifactIdjavax.transaction-api/artifactIdversion${javax-transaction.version}/version/dependencydependencygroupIdjavax.validation/groupIdartifactIdvalidation-api/artifactIdversion${javax-validation.version}/version/dependencydependencygroupIdjavax.websocket/groupIdartifactIdjavax.websocket-api/artifactIdversion${javax-websocket.version}/version/dependencydependencygroupIdjaxen/groupIdartifactIdjaxen/artifactIdversion${jaxen.version}/version/dependencydependencygroupIdorg.firebirdsql.jdbc/groupIdartifactIdjaybird/artifactIdversion${jaybird.version}/version/dependencydependencygroupIdorg.firebirdsql.jdbc/groupIdartifactIdjaybird-jdk18/artifactIdversion${jaybird.version}/version/dependencydependencygroupIdorg.jboss.logging/groupIdartifactIdjboss-logging/artifactIdversion${jboss-logging.version}/version/dependencydependencygroupIdorg.jdom/groupIdartifactIdjdom2/artifactIdversion${jdom2.version}/version/dependencydependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion${jedis.version}/version/dependencydependencygroupIdorg.mortbay.jasper/groupIdartifactIdapache-el/artifactIdversion${jetty-el.version}/version/dependencydependencygroupIdorg.eclipse.jetty.orbit/groupIdartifactIdjavax.servlet.jsp/artifactIdversion${jetty-jsp.version}/version/dependencydependencygroupIdorg.eclipse.jetty/groupIdartifactIdjetty-reactive-httpclient/artifactIdversion${jetty-reactive-httpclient.version}/version/dependencydependencygroupIdcom.samskivert/groupIdartifactIdjmustache/artifactIdversion${jmustache.version}/version/dependencydependencygroupIdorg.apache.johnzon/groupIdartifactIdjohnzon-core/artifactIdversion${johnzon.version}/version/dependencydependencygroupIdorg.apache.johnzon/groupIdartifactIdjohnzon-jaxrs/artifactIdversion${johnzon.version}/version/dependencydependencygroupIdorg.apache.johnzon/groupIdartifactIdjohnzon-jsonb/artifactIdversion${johnzon.version}/version/dependencydependencygroupIdorg.apache.johnzon/groupIdartifactIdjohnzon-jsonb-extras/artifactIdversion${johnzon.version}/version/dependencydependencygroupIdorg.apache.johnzon/groupIdartifactIdjohnzon-jsonschema/artifactIdversion${johnzon.version}/version/dependencydependencygroupIdorg.apache.johnzon/groupIdartifactIdjohnzon-mapper/artifactIdversion${johnzon.version}/version/dependencydependencygroupIdorg.apache.johnzon/groupIdartifactIdjohnzon-websocket/artifactIdversion${johnzon.version}/version/dependencydependencygroupIdorg.jolokia/groupIdartifactIdjolokia-core/artifactIdversion${jolokia.version}/version/dependencydependencygroupIdorg.jooq/groupIdartifactIdjooq/artifactIdversion${jooq.version}/version/dependencydependencygroupIdorg.jooq/groupIdartifactIdjooq-codegen/artifactIdversion${jooq.version}/version/dependencydependencygroupIdorg.jooq/groupIdartifactIdjooq-kotlin/artifactIdversion${jooq.version}/version/dependencydependencygroupIdorg.jooq/groupIdartifactIdjooq-meta/artifactIdversion${jooq.version}/version/dependencydependencygroupIdcom.jayway.jsonpath/groupIdartifactIdjson-path/artifactIdversion${json-path.version}/version/dependencydependencygroupIdcom.jayway.jsonpath/groupIdartifactIdjson-path-assert/artifactIdversion${json-path.version}/version/dependencydependencygroupIdnet.minidev/groupIdartifactIdjson-smart/artifactIdversion${json-smart.version}/version/dependencydependencygroupIdorg.skyscreamer/groupIdartifactIdjsonassert/artifactIdversion${jsonassert.version}/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjstl/artifactIdversion${jstl.version}/version/dependencydependencygroupIdnet.sourceforge.jtds/groupIdartifactIdjtds/artifactIdversion${jtds.version}/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion${junit.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdconnect/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdconnect-api/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdconnect-basic-auth-extension/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdconnect-file/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdconnect-json/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdconnect-mirror/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdconnect-mirror-client/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdconnect-runtime/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdconnect-transforms/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdgenerator/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-clients/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-clients/artifactIdversion${kafka.version}/versionclassifiertest/classifier/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-log4j-appender/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-metadata/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-raft/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-server-common/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-shell/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-storage/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-storage-api/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-streams/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-streams-scala_2.12/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-streams-scala_2.13/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-streams-test-utils/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka-tools/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka_2.12/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka_2.12/artifactIdversion${kafka.version}/versionclassifiertest/classifier/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka_2.13/artifactIdversion${kafka.version}/version/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdkafka_2.13/artifactIdversion${kafka.version}/versionclassifiertest/classifier/dependencydependencygroupIdorg.apache.kafka/groupIdartifactIdtrogdor/artifactIdversion${kafka.version}/version/dependencydependencygroupIdio.lettuce/groupIdartifactIdlettuce-core/artifactIdversion${lettuce.version}/version/dependencydependencygroupIdorg.liquibase/groupIdartifactIdliquibase-cdi/artifactIdversion${liquibase.version}/version/dependencydependencygroupIdorg.liquibase/groupIdartifactIdliquibase-core/artifactIdversion${liquibase.version}/version/dependencydependencygroupIdch.qos.logback/groupIdartifactIdlogback-access/artifactIdversion${logback.version}/version/dependencydependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion${logback.version}/version/dependencydependencygroupIdch.qos.logback/groupIdartifactIdlogback-core/artifactIdversion${logback.version}/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${lombok.version}/version/dependencydependencygroupIdorg.mariadb.jdbc/groupIdartifactIdmariadb-java-client/artifactIdversion${mariadb.version}/version/dependencydependencygroupIdio.micrometer/groupIdartifactIdmicrometer-registry-stackdriver/artifactIdversion${micrometer.version}/versionexclusionsexclusiongroupIdjavax.annotation/groupIdartifactIdjavax.annotation-api/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.jvnet.mimepull/groupIdartifactIdmimepull/artifactIdversion${mimepull.version}/version/dependencydependencygroupIdorg.mockito/groupIdartifactIdmockito-core/artifactIdversion${mockito.version}/version/dependencydependencygroupIdorg.mockito/groupIdartifactIdmockito-inline/artifactIdversion${mockito.version}/version/dependencydependencygroupIdorg.mockito/groupIdartifactIdmockito-junit-jupiter/artifactIdversion${mockito.version}/version/dependencydependencygroupIdorg.mongodb/groupIdartifactIdbson/artifactIdversion${mongodb.version}/version/dependencydependencygroupIdorg.mongodb/groupIdartifactIdmongodb-driver-core/artifactIdversion${mongodb.version}/version/dependencydependencygroupIdorg.mongodb/groupIdartifactIdmongodb-driver-legacy/artifactIdversion${mongodb.version}/version/dependencydependencygroupIdorg.mongodb/groupIdartifactIdmongodb-driver-reactivestreams/artifactIdversion${mongodb.version}/version/dependencydependencygroupIdorg.mongodb/groupIdartifactIdmongodb-driver-sync/artifactIdversion${mongodb.version}/version/dependencydependencygroupIdcom.microsoft.sqlserver/groupIdartifactIdmssql-jdbc/artifactIdversion${mssql-jdbc.version}/version/dependencydependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdversion${mysql.version}/versionexclusionsexclusiongroupIdcom.google.protobuf/groupIdartifactIdprotobuf-java/artifactId/exclusion/exclusions/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion${mysql.version}/versionexclusionsexclusiongroupIdcom.google.protobuf/groupIdartifactIdprotobuf-java/artifactId/exclusion/exclusions/dependencydependencygroupIdnet.sourceforge.nekohtml/groupIdartifactIdnekohtml/artifactIdversion${nekohtml.version}/version/dependencydependencygroupIdorg.neo4j.driver/groupIdartifactIdneo4j-java-driver/artifactIdversion${neo4j-java-driver.version}/version/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative/artifactIdversion${netty-tcnative.version}/version/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative/artifactIdversion${netty-tcnative.version}/versionclassifierlinux-x86_64/classifier/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative/artifactIdversion${netty-tcnative.version}/versionclassifierlinux-x86_64-fedora/classifier/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative/artifactIdversion${netty-tcnative.version}/versionclassifierlinux-aarch_64-fedora/classifier/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative/artifactIdversion${netty-tcnative.version}/versionclassifierosx-x86_64/classifier/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative-boringssl-static/artifactIdversion${netty-tcnative.version}/version/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative-boringssl-static/artifactIdversion${netty-tcnative.version}/versionclassifierlinux-x86_64/classifier/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative-boringssl-static/artifactIdversion${netty-tcnative.version}/versionclassifierosx-aarch_64/classifier/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative-boringssl-static/artifactIdversion${netty-tcnative.version}/versionclassifierwindows-x86_64/classifier/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative-boringssl-static/artifactIdversion${netty-tcnative.version}/versionclassifierlinux-aarch_64/classifier/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative-boringssl-static/artifactIdversion${netty-tcnative.version}/versionclassifierosx-x86_64/classifier/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-tcnative-classes/artifactIdversion${netty-tcnative.version}/version/dependencydependencygroupIdcom.squareup.okhttp3/groupIdartifactIdlogging-interceptor/artifactIdversion${okhttp3.version}/version/dependencydependencygroupIdcom.squareup.okhttp3/groupIdartifactIdmockwebserver/artifactIdversion${okhttp3.version}/version/dependencydependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokcurl/artifactIdversion${okhttp3.version}/version/dependencydependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokhttp/artifactIdversion${okhttp3.version}/version/dependencydependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokhttp-dnsoverhttps/artifactIdversion${okhttp3.version}/version/dependencydependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokhttp-sse/artifactIdversion${okhttp3.version}/version/dependencydependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokhttp-testing-support/artifactIdversion${okhttp3.version}/version/dependencydependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokhttp-tls/artifactIdversion${okhttp3.version}/version/dependencydependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokhttp-urlconnection/artifactIdversion${okhttp3.version}/version/dependencydependencygroupIdorg.messaginghub/groupIdartifactIdpooled-jms/artifactIdversion${pooled-jms.version}/version/dependencydependencygroupIdorg.postgresql/groupIdartifactIdpostgresql/artifactIdversion${postgresql.version}/version/dependencydependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz/artifactIdversion${quartz.version}/versionexclusionsexclusiongroupIdcom.mchange/groupIdartifactIdc3p0/artifactId/exclusionexclusiongroupIdcom.zaxxer/groupIdartifactId*/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz-jobs/artifactIdversion${quartz.version}/version/dependencydependencygroupIdcom.rabbitmq/groupIdartifactIdamqp-client/artifactIdversion${rabbit-amqp-client.version}/version/dependencydependencygroupIdcom.rabbitmq/groupIdartifactIdstream-client/artifactIdversion${rabbit-stream-client.version}/version/dependencydependencygroupIdorg.reactivestreams/groupIdartifactIdreactive-streams/artifactIdversion${reactive-streams.version}/version/dependencydependencygroupIdio.rest-assured/groupIdartifactIdjson-path/artifactIdversion${rest-assured.version}/version/dependencydependencygroupIdio.rest-assured/groupIdartifactIdjson-schema-validator/artifactIdversion${rest-assured.version}/version/dependencydependencygroupIdio.rest-assured/groupIdartifactIdkotlin-extensions/artifactIdversion${rest-assured.version}/version/dependencydependencygroupIdio.rest-assured/groupIdartifactIdrest-assured/artifactIdversion${rest-assured.version}/version/dependencydependencygroupIdio.rest-assured/groupIdartifactIdrest-assured-common/artifactIdversion${rest-assured.version}/version/dependencydependencygroupIdio.rest-assured/groupIdartifactIdscala-support/artifactIdversion${rest-assured.version}/version/dependencydependencygroupIdio.rest-assured/groupIdartifactIdspring-commons/artifactIdversion${rest-assured.version}/version/dependencydependencygroupIdio.rest-assured/groupIdartifactIdspring-mock-mvc/artifactIdversion${rest-assured.version}/version/dependencydependencygroupIdio.rest-assured/groupIdartifactIdspring-mock-mvc-kotlin-extensions/artifactIdversion${rest-assured.version}/version/dependencydependencygroupIdio.rest-assured/groupIdartifactIdspring-web-test-client/artifactIdversion${rest-assured.version}/version/dependencydependencygroupIdio.rest-assured/groupIdartifactIdxml-path/artifactIdversion${rest-assured.version}/version/dependencydependencygroupIdio.reactivex/groupIdartifactIdrxjava/artifactIdversion${rxjava.version}/version/dependencydependencygroupIdio.reactivex/groupIdartifactIdrxjava-reactive-streams/artifactIdversion${rxjava-adapter.version}/version/dependencydependencygroupIdio.reactivex.rxjava2/groupIdartifactIdrxjava/artifactIdversion${rxjava2.version}/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-test/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-test-autoconfigure/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-actuator/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-actuator-autoconfigure/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-autoconfigure/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-autoconfigure-processor/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-buildpack-platform/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-metadata/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-jarmode-layertools/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-loader/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-loader-tools/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-properties-migrator/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-activemq/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-artemis/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-batch/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-cache/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-cassandra/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-cassandra-reactive/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-couchbase/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-couchbase-reactive/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-elasticsearch/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jdbc/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-ldap/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-mongodb/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-mongodb-reactive/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-r2dbc/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis-reactive/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-neo4j/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-rest/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-freemarker/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-groovy-templates/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-hateoas/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-integration/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jersey/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jetty/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jooq/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-json/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jta-atomikos/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-log4j2/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-logging/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-mail/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-mustache/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-oauth2-client/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-oauth2-resource-server/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-quartz/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-reactor-netty/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-rsocket/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-security/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-thymeleaf/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-undertow/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-webflux/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactIdversion2.6.13/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web-services/artifactIdversion2.6.13/version/dependencydependencygroupIdcom.sun.xml.messaging.saaj/groupIdartifactIdsaaj-impl/artifactIdversion${saaj-impl.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-api/artifactIdversion${selenium.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-chrome-driver/artifactIdversion${selenium.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-edge-driver/artifactIdversion${selenium.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-firefox-driver/artifactIdversion${selenium.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-ie-driver/artifactIdversion${selenium.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-java/artifactIdversion${selenium.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-opera-driver/artifactIdversion${selenium.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-remote-driver/artifactIdversion${selenium.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-safari-driver/artifactIdversion${selenium.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-support/artifactIdversion${selenium.version}/version/dependencydependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdhtmlunit-driver/artifactIdversion${selenium-htmlunit.version}/version/dependencydependencygroupIdcom.sendgrid/groupIdartifactIdsendgrid-java/artifactIdversion${sendgrid.version}/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion${servlet-api.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdjcl-over-slf4j/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdjul-to-slf4j/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdlog4j-over-slf4j/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-ext/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-jcl/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-jdk14/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-log4j12/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-nop/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-simple/artifactIdversion${slf4j.version}/version/dependencydependencygroupIdorg.yaml/groupIdartifactIdsnakeyaml/artifactIdversion${snakeyaml.version}/version/dependencydependencygroupIdorg.apache.solr/groupIdartifactIdsolr-analysis-extras/artifactIdversion${solr.version}/version/dependencydependencygroupIdorg.apache.solr/groupIdartifactIdsolr-analytics/artifactIdversion${solr.version}/version/dependencydependencygroupIdorg.apache.solr/groupIdartifactIdsolr-cell/artifactIdversion${solr.version}/version/dependencydependencygroupIdorg.apache.solr/groupIdartifactIdsolr-core/artifactIdversion${solr.version}/version/dependencydependencygroupIdorg.apache.solr/groupIdartifactIdsolr-dataimporthandler/artifactIdversion${solr.version}/version/dependencydependencygroupIdorg.apache.solr/groupIdartifactIdsolr-dataimporthandler-extras/artifactIdversion${solr.version}/version/dependencydependencygroupIdorg.apache.solr/groupIdartifactIdsolr-langid/artifactIdversion${solr.version}/version/dependencydependencygroupIdorg.apache.solr/groupIdartifactIdsolr-ltr/artifactIdversion${solr.version}/version/dependencydependencygroupIdorg.apache.solr/groupIdartifactIdsolr-solrj/artifactIdversion${solr.version}/versionexclusionsexclusiongroupIdorg.slf4j/groupIdartifactIdjcl-over-slf4j/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.solr/groupIdartifactIdsolr-test-framework/artifactIdversion${solr.version}/version/dependencydependencygroupIdorg.apache.solr/groupIdartifactIdsolr-velocity/artifactIdversion${solr.version}/version/dependencydependencygroupIdorg.springframework.amqp/groupIdartifactIdspring-amqp/artifactIdversion${spring-amqp.version}/version/dependencydependencygroupIdorg.springframework.amqp/groupIdartifactIdspring-rabbit/artifactIdversion${spring-amqp.version}/version/dependencydependencygroupIdorg.springframework.amqp/groupIdartifactIdspring-rabbit-stream/artifactIdversion${spring-amqp.version}/version/dependencydependencygroupIdorg.springframework.amqp/groupIdartifactIdspring-rabbit-junit/artifactIdversion${spring-amqp.version}/version/dependencydependencygroupIdorg.springframework.amqp/groupIdartifactIdspring-rabbit-test/artifactIdversion${spring-amqp.version}/version/dependencydependencygroupIdorg.springframework.batch/groupIdartifactIdspring-batch-core/artifactIdversion${spring-batch.version}/version/dependencydependencygroupIdorg.springframework.batch/groupIdartifactIdspring-batch-infrastructure/artifactIdversion${spring-batch.version}/version/dependencydependencygroupIdorg.springframework.batch/groupIdartifactIdspring-batch-integration/artifactIdversion${spring-batch.version}/version/dependencydependencygroupIdorg.springframework.batch/groupIdartifactIdspring-batch-test/artifactIdversion${spring-batch.version}/version/dependencydependencygroupIdorg.springframework.hateoas/groupIdartifactIdspring-hateoas/artifactIdversion${spring-hateoas.version}/version/dependencydependencygroupIdorg.springframework.kafka/groupIdartifactIdspring-kafka/artifactIdversion${spring-kafka.version}/version/dependencydependencygroupIdorg.springframework.kafka/groupIdartifactIdspring-kafka-test/artifactIdversion${spring-kafka.version}/version/dependencydependencygroupIdorg.springframework.ldap/groupIdartifactIdspring-ldap-core/artifactIdversion${spring-ldap.version}/version/dependencydependencygroupIdorg.springframework.ldap/groupIdartifactIdspring-ldap-core-tiger/artifactIdversion${spring-ldap.version}/version/dependencydependencygroupIdorg.springframework.ldap/groupIdartifactIdspring-ldap-ldif-batch/artifactIdversion${spring-ldap.version}/version/dependencydependencygroupIdorg.springframework.ldap/groupIdartifactIdspring-ldap-ldif-core/artifactIdversion${spring-ldap.version}/version/dependencydependencygroupIdorg.springframework.ldap/groupIdartifactIdspring-ldap-odm/artifactIdversion${spring-ldap.version}/version/dependencydependencygroupIdorg.springframework.ldap/groupIdartifactIdspring-ldap-test/artifactIdversion${spring-ldap.version}/version/dependencydependencygroupIdorg.springframework.restdocs/groupIdartifactIdspring-restdocs-asciidoctor/artifactIdversion${spring-restdocs.version}/version/dependencydependencygroupIdorg.springframework.restdocs/groupIdartifactIdspring-restdocs-core/artifactIdversion${spring-restdocs.version}/version/dependencydependencygroupIdorg.springframework.restdocs/groupIdartifactIdspring-restdocs-mockmvc/artifactIdversion${spring-restdocs.version}/version/dependencydependencygroupIdorg.springframework.restdocs/groupIdartifactIdspring-restdocs-restassured/artifactIdversion${spring-restdocs.version}/version/dependencydependencygroupIdorg.springframework.restdocs/groupIdartifactIdspring-restdocs-webtestclient/artifactIdversion${spring-restdocs.version}/version/dependencydependencygroupIdorg.springframework.retry/groupIdartifactIdspring-retry/artifactIdversion${spring-retry.version}/version/dependencydependencygroupIdorg.springframework.ws/groupIdartifactIdspring-ws-core/artifactIdversion${spring-ws.version}/version/dependencydependencygroupIdorg.springframework.ws/groupIdartifactIdspring-ws-security/artifactIdversion${spring-ws.version}/version/dependencydependencygroupIdorg.springframework.ws/groupIdartifactIdspring-ws-support/artifactIdversion${spring-ws.version}/version/dependencydependencygroupIdorg.springframework.ws/groupIdartifactIdspring-ws-test/artifactIdversion${spring-ws.version}/version/dependencydependencygroupIdorg.springframework.ws/groupIdartifactIdspring-xml/artifactIdversion${spring-ws.version}/version/dependencydependencygroupIdorg.xerial/groupIdartifactIdsqlite-jdbc/artifactIdversion${sqlite-jdbc.version}/version/dependencydependencygroupIdcom.sun.mail/groupIdartifactIdjakarta.mail/artifactIdversion${sun-mail.version}/version/dependencydependencygroupIdorg.thymeleaf/groupIdartifactIdthymeleaf/artifactIdversion${thymeleaf.version}/version/dependencydependencygroupIdorg.thymeleaf/groupIdartifactIdthymeleaf-spring5/artifactIdversion${thymeleaf.version}/version/dependencydependencygroupIdcom.github.mxab.thymeleaf.extras/groupIdartifactIdthymeleaf-extras-data-attribute/artifactIdversion${thymeleaf-extras-data-attribute.version}/version/dependencydependencygroupIdorg.thymeleaf.extras/groupIdartifactIdthymeleaf-extras-java8time/artifactIdversion${thymeleaf-extras-java8time.version}/version/dependencydependencygroupIdorg.thymeleaf.extras/groupIdartifactIdthymeleaf-extras-springsecurity5/artifactIdversion${thymeleaf-extras-springsecurity.version}/version/dependencydependencygroupIdnz.net.ultraq.thymeleaf/groupIdartifactIdthymeleaf-layout-dialect/artifactIdversion${thymeleaf-layout-dialect.version}/version/dependencydependencygroupIdorg.apache.tomcat/groupIdartifactIdtomcat-annotations-api/artifactIdversion${tomcat.version}/version/dependencydependencygroupIdorg.apache.tomcat/groupIdartifactIdtomcat-jdbc/artifactIdversion${tomcat.version}/version/dependencydependencygroupIdorg.apache.tomcat/groupIdartifactIdtomcat-jsp-api/artifactIdversion${tomcat.version}/version/dependencydependencygroupIdorg.apache.tomcat.embed/groupIdartifactIdtomcat-embed-core/artifactIdversion${tomcat.version}/version/dependencydependencygroupIdorg.apache.tomcat.embed/groupIdartifactIdtomcat-embed-el/artifactIdversion${tomcat.version}/version/dependencydependencygroupIdorg.apache.tomcat.embed/groupIdartifactIdtomcat-embed-jasper/artifactIdversion${tomcat.version}/version/dependencydependencygroupIdorg.apache.tomcat.embed/groupIdartifactIdtomcat-embed-websocket/artifactIdversion${tomcat.version}/version/dependencydependencygroupIdcom.unboundid/groupIdartifactIdunboundid-ldapsdk/artifactIdversion${unboundid-ldapsdk.version}/version/dependencydependencygroupIdio.undertow/groupIdartifactIdundertow-core/artifactIdversion${undertow.version}/version/dependencydependencygroupIdio.undertow/groupIdartifactIdundertow-servlet/artifactIdversion${undertow.version}/version/dependencydependencygroupIdio.undertow/groupIdartifactIdundertow-websockets-jsr/artifactIdversion${undertow.version}/version/dependencydependencygroupIdorg.webjars/groupIdartifactIdwebjars-locator-core/artifactIdversion${webjars-locator-core.version}/version/dependencydependencygroupIdwsdl4j/groupIdartifactIdwsdl4j/artifactIdversion${wsdl4j.version}/version/dependencydependencygroupIdorg.xmlunit/groupIdartifactIdxmlunit-assertj/artifactIdversion${xmlunit2.version}/version/dependencydependencygroupIdorg.xmlunit/groupIdartifactIdxmlunit-core/artifactIdversion${xmlunit2.version}/version/dependencydependencygroupIdorg.xmlunit/groupIdartifactIdxmlunit-legacy/artifactIdversion${xmlunit2.version}/version/dependencydependencygroupIdorg.xmlunit/groupIdartifactIdxmlunit-matchers/artifactIdversion${xmlunit2.version}/version/dependencydependencygroupIdorg.xmlunit/groupIdartifactIdxmlunit-placeholders/artifactIdversion${xmlunit2.version}/version/dependencydependencygroupIdcom.datastax.oss/groupIdartifactIdjava-driver-bom/artifactIdversion${cassandra-driver.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdio.dropwizard.metrics/groupIdartifactIdmetrics-bom/artifactIdversion${dropwizard-metrics.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.codehaus.groovy/groupIdartifactIdgroovy-bom/artifactIdversion${groovy.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.infinispan/groupIdartifactIdinfinispan-bom/artifactIdversion${infinispan.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdcom.fasterxml.jackson/groupIdartifactIdjackson-bom/artifactIdversion${jackson-bom.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.glassfish.jersey/groupIdartifactIdjersey-bom/artifactIdversion${jersey.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.eclipse.jetty/groupIdartifactIdjetty-bom/artifactIdversion${jetty.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.junit/groupIdartifactIdjunit-bom/artifactIdversion${junit-jupiter.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.jetbrains.kotlin/groupIdartifactIdkotlin-bom/artifactIdversion${kotlin.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.jetbrains.kotlinx/groupIdartifactIdkotlinx-coroutines-bom/artifactIdversion${kotlin-coroutines.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-bom/artifactIdversion${log4j2.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdio.micrometer/groupIdartifactIdmicrometer-bom/artifactIdversion${micrometer.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdio.netty/groupIdartifactIdnetty-bom/artifactIdversion${netty.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdcom.oracle.database.jdbc/groupIdartifactIdojdbc-bom/artifactIdversion${oracle-database.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdio.prometheus/groupIdartifactIdsimpleclient_bom/artifactIdversion${prometheus-client.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdcom.querydsl/groupIdartifactIdquerydsl-bom/artifactIdversion${querydsl.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdio.r2dbc/groupIdartifactIdr2dbc-bom/artifactIdversion${r2dbc-bom.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdio.projectreactor/groupIdartifactIdreactor-bom/artifactIdversion${reactor-bom.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdio.rsocket/groupIdartifactIdrsocket-bom/artifactIdversion${rsocket.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.springframework.data/groupIdartifactIdspring-data-bom/artifactIdversion${spring-data-bom.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-framework-bom/artifactIdversion${spring-framework.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.springframework.integration/groupIdartifactIdspring-integration-bom/artifactIdversion${spring-integration.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.springframework.security/groupIdartifactIdspring-security-bom/artifactIdversion${spring-security.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.springframework.session/groupIdartifactIdspring-session-bom/artifactIdversion${spring-session-bom.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginManagementpluginsplugingroupIdorg.codehaus.mojo/groupIdartifactIdbuild-helper-maven-plugin/artifactIdversion${build-helper-maven-plugin.version}/version/pluginplugingroupIdorg.flywaydb/groupIdartifactIdflyway-maven-plugin/artifactIdversion${flyway.version}/version/pluginplugingroupIdpl.project13.maven/groupIdartifactIdgit-commit-id-plugin/artifactIdversion${git-commit-id-plugin.version}/version/pluginplugingroupIdorg.apache.johnzon/groupIdartifactIdjohnzon-maven-plugin/artifactIdversion${johnzon.version}/version/pluginplugingroupIdorg.jooq/groupIdartifactIdjooq-codegen-maven/artifactIdversion${jooq.version}/version/pluginplugingroupIdorg.jetbrains.kotlin/groupIdartifactIdkotlin-maven-plugin/artifactIdversion${kotlin.version}/version/pluginplugingroupIdorg.liquibase/groupIdartifactIdliquibase-maven-plugin/artifactIdversion${liquibase.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-antrun-plugin/artifactIdversion${maven-antrun-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-assembly-plugin/artifactIdversion${maven-assembly-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-clean-plugin/artifactIdversion${maven-clean-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion${maven-compiler-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-dependency-plugin/artifactIdversion${maven-dependency-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-deploy-plugin/artifactIdversion${maven-deploy-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-enforcer-plugin/artifactIdversion${maven-enforcer-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-failsafe-plugin/artifactIdversion${maven-failsafe-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-help-plugin/artifactIdversion${maven-help-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-install-plugin/artifactIdversion${maven-install-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-invoker-plugin/artifactIdversion${maven-invoker-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-jar-plugin/artifactIdversion${maven-jar-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-javadoc-plugin/artifactIdversion${maven-javadoc-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-resources-plugin/artifactIdversion${maven-resources-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-shade-plugin/artifactIdversion${maven-shade-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-source-plugin/artifactIdversion${maven-source-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-surefire-plugin/artifactIdversion${maven-surefire-plugin.version}/version/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-war-plugin/artifactIdversion${maven-war-plugin.version}/version/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion2.6.13/version/pluginplugingroupIdorg.codehaus.mojo/groupIdartifactIdversions-maven-plugin/artifactIdversion${versions-maven-plugin.version}/version/pluginplugingroupIdorg.codehaus.mojo/groupIdartifactIdxml-maven-plugin/artifactIdversion${xml-maven-plugin.version}/version/plugin/plugins/pluginManagement/build /project 其中依赖继承的数量很多我们挑选其中几个常用的进行说明 activemq消息队列的一种目前有很多更好的上位替代 commons-codec加解密/签名验签的基础依赖 hibernatehibernate框架依赖 jacksonjson处理依赖 log4j2日志管理 thymeleaf模板引擎用于视图层 org.apache.tomcatspringboot内置的tomcat版本9.0.68 org.junit测试的依赖 mysqlmysql数据库连接驱动版本8.0.31 okhttp3http请求的基础依赖包 oracle-databaseoracle数据库的驱动 2.2 spring-boot-starter-web是什么 是spring-boot场景启动器 帮我们导入了web模块正常运行所依赖的组件一些默认的配置 SpringBoot约定大于配置思想的体现 类似的starter有很多比如druid的SpringBootStarterMyBatis的starter Spring Boot将所有的功能场景都抽取出来做成一个个的starters启动器 只需要在项目里面引入这些starter 相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器 我们在浏览器访问localhost:9090/hello本质上是一个web请求所以当然需要我们导入web相关的包 spring-boot-starter-web已经帮我们配置好了默认的依赖 xxx-starter包含了完成某一个功能模块的所有jar包无需xml开箱即用 spring-boot-starter-web-2.6.13.pom源码 ?xml version1.0 encodingUTF-8? project xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance!-- This module was also published with a richer model, Gradle metadata, --!-- which should be used instead. Do not delete the following line which --!-- is to indicate to Gradle or any Gradle module metadata file consumer --!-- that they should prefer consuming it instead. --!-- do_not_remove: published-with-gradle-metadata --modelVersion4.0.0/modelVersiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion2.6.13/versionnamespring-boot-starter-web/namedescriptionStarter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container/descriptionurlhttps://spring.io/projects/spring-boot/urlorganizationnamePivotal Software, Inc./nameurlhttps://spring.io/url/organizationlicenseslicensenameApache License, Version 2.0/nameurlhttps://www.apache.org/licenses/LICENSE-2.0/url/license/licensesdevelopersdevelopernamePivotal/nameemailinfopivotal.io/emailorganizationPivotal Software, Inc./organizationorganizationUrlhttps://www.spring.io/organizationUrl/developer/developersscmconnectionscm:git:git://github.com/spring-projects/spring-boot.git/connectiondeveloperConnectionscm:git:ssh://gitgithub.com/spring-projects/spring-boot.git/developerConnectionurlhttps://github.com/spring-projects/spring-boot/url/scmissueManagementsystemGitHub/systemurlhttps://github.com/spring-projects/spring-boot/issues/url/issueManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion2.6.13/versionscopecompile/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-json/artifactIdversion2.6.13/versionscopecompile/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactIdversion2.6.13/versionscopecompile/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-web/artifactIdversion5.3.23/versionscopecompile/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.3.23/versionscopecompile/scope/dependency/dependencies /project 我们可以看到其中包括了json处理的依赖spring-boot-starter-json内嵌的tomcat依赖spring-boot-starter-tomcatsping-web依赖包含了spring-core依赖SSM项目需要导入mvc依赖spring-webmvc包含了spring-aop等依赖 其中最重要的是spring-boot-starter依赖我们可以在各种starter中看到它 ?xml version1.0 encodingUTF-8? project xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance!-- This module was also published with a richer model, Gradle metadata, --!-- which should be used instead. Do not delete the following line which --!-- is to indicate to Gradle or any Gradle module metadata file consumer --!-- that they should prefer consuming it instead. --!-- do_not_remove: published-with-gradle-metadata --modelVersion4.0.0/modelVersiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion2.6.13/versionnamespring-boot-starter/namedescriptionCore starter, including auto-configuration support, logging and YAML/descriptionurlhttps://spring.io/projects/spring-boot/urlorganizationnamePivotal Software, Inc./nameurlhttps://spring.io/url/organizationlicenseslicensenameApache License, Version 2.0/nameurlhttps://www.apache.org/licenses/LICENSE-2.0/url/license/licensesdevelopersdevelopernamePivotal/nameemailinfopivotal.io/emailorganizationPivotal Software, Inc./organizationorganizationUrlhttps://www.spring.io/organizationUrl/developer/developersscmconnectionscm:git:git://github.com/spring-projects/spring-boot.git/connectiondeveloperConnectionscm:git:ssh://gitgithub.com/spring-projects/spring-boot.git/developerConnectionurlhttps://github.com/spring-projects/spring-boot/url/scmissueManagementsystemGitHub/systemurlhttps://github.com/spring-projects/spring-boot/issues/url/issueManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot/artifactIdversion2.6.13/versionscopecompile/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-autoconfigure/artifactIdversion2.6.13/versionscopecompile/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-logging/artifactIdversion2.6.13/versionscopecompile/scope/dependencydependencygroupIdjakarta.annotation/groupIdartifactIdjakarta.annotation-api/artifactIdversion1.3.5/versionscopecompile/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion5.3.23/versionscopecompile/scope/dependencydependencygroupIdorg.yaml/groupIdartifactIdsnakeyaml/artifactIdversion1.29/versionscopecompile/scope/dependency/dependencies /project 3.1 SpringBootApplication注解 SpringBootApplication标注在某个类上说明这个类是SpringBoot的主配置类SpringBoot 就通过运行这个类的main方法来启动SpringBoot应用 3.1.1 注解源码分析 // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) //package org.springframework.boot.autoconfigure;import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.beans.factory.support.BeanNameGenerator; import org.springframework.boot.SpringBootConfiguration; import org.springframework.boot.context.TypeExcludeFilter; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.core.annotation.AliasFor;Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Inherited SpringBootConfiguration EnableAutoConfiguration ComponentScan(excludeFilters {Filter(type FilterType.CUSTOM,classes {TypeExcludeFilter.class} ), Filter(type FilterType.CUSTOM,classes {AutoConfigurationExcludeFilter.class} )} ) public interface SpringBootApplication {AliasFor(annotation EnableAutoConfiguration.class)Class?[] exclude() default {};AliasFor(annotation EnableAutoConfiguration.class)String[] excludeName() default {};AliasFor(annotation ComponentScan.class,attribute basePackages)String[] scanBasePackages() default {};AliasFor(annotation ComponentScan.class,attribute basePackageClasses)Class?[] scanBasePackageClasses() default {};AliasFor(annotation ComponentScan.class,attribute nameGenerator)Class? extends BeanNameGenerator nameGenerator() default BeanNameGenerator.class;AliasFor(annotation Configuration.class)boolean proxyBeanMethods() default true; } Target Target({ElementType.TYPE})表示只能标注在类上 Retention Retention(RetentionPolicy.RUNTIME)表示此注解可以一直保留到JVM内存中 Documented运行javadoc命令时会带上SpringBootApplication注解不标注则不会带上 Inherited Inherited这个注解只能标注在注解上表示如果一个类用上了Inherited修饰的注解那么其子类也会继承这个注解接口和实现类的父子关系不生效不行 SpringBootConfiguration SpringBootConfiguration加载SpringBoot的配置。继承自Configuration二者功能也一致标注当前类是配置类并会将当前类内声明的一个或多个以Bean注解标记的方法的实例纳入到spring容器中并且实例名就是方法名。 SpringBootConfiguration是springboot的注解而Configuration是spring的注解 纳入spring容器的方式是通过动态代理proxyBeanMethods即是此含义CGLIB 更详细的解释Spring框架中的Configuration参数proxyBeanMethods EnableAutoConfiguration EnableAutoConfigurationSpringBoot有两大核心依赖大于配置自动装配EnableAutoConfiguration即为完成自动装配的核心注解(开启自动配置功能)) 当spring boot扫描到EnableAutoConfiguration注解时则会将spring-boot-autoconfigure.jar/META-INF/spring.factories文件中org.springframework.boot.autoconfigure.EnableAutoConfiguration对应的value里的所有xxxConfiguration类加载到IOC容器中。而xxxAutoConfiguration类一般都会有ConditionalOnxxx注解通过这些条件注解来判断是否真正的创建xxxConfiguration对象。spring boot的各种spring-boot-starter-xxx.jar也正是居于此注解来达到自动装配的目的。 # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration\ org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration,\ org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,\ org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration,\ org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration,\ org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration,\ org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration,\ org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration,\ org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration,\ org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration,\ org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration,\ org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration,\ org.springframework.boot.autoconfigure.dao.PersistenceExceptionTranslationAutoConfiguration,\ org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.cassandra.CassandraRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.couchbase.CouchbaseRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRestClientAutoConfiguration,\ org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.ldap.LdapRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.neo4j.Neo4jRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration,\ org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration,\ org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration,\ org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration,\ org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration,\ org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration,\ org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration,\ org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration,\ org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration,\ org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration,\ org.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration,\ org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration,\ org.springframework.boot.autoconfigure.hazelcast.HazelcastJpaDependencyAutoConfiguration,\ org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration,\ org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration,\ org.springframework.boot.autoconfigure.influx.InfluxDbAutoConfiguration,\ org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration,\ org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration,\ org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration,\ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration,\ org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration,\ org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration,\ org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguration,\ org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration,\ org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration,\ org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration,\ org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration,\ org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration,\ org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration,\ org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration,\ org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration,\ org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration,\ org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration,\ org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration,\ org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration,\ org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration,\ org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration,\ org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration,\ org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration,\ org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration,\ org.springframework.boot.autoconfigure.netty.NettyAutoConfiguration,\ org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,\ org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration,\ org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration,\ org.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration,\ org.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfiguration,\ org.springframework.boot.autoconfigure.rsocket.RSocketRequesterAutoConfiguration,\ org.springframework.boot.autoconfigure.rsocket.RSocketServerAutoConfiguration,\ org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration,\ org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration,\ org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration,\ org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration,\ org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration,\ org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration,\ org.springframework.boot.autoconfigure.security.rsocket.RSocketSecurityAutoConfiguration,\ org.springframework.boot.autoconfigure.security.saml2.Saml2RelyingPartyAutoConfiguration,\ org.springframework.boot.autoconfigure.sendgrid.SendGridAutoConfiguration,\ org.springframework.boot.autoconfigure.session.SessionAutoConfiguration,\ org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration,\ org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration,\ org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration,\ org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration,\ org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration,\ org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration,\ org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration,\ org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration,\ org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration,\ org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration,\ org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration,\ org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration,\ org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration,\ org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration,\ org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration,\ org.springframework.boot.autoconfigure.web.reactive.ReactiveMultipartAutoConfiguration,\ org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration,\ org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration,\ org.springframework.boot.autoconfigure.web.reactive.WebSessionIdResolverAutoConfiguration,\ org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration,\ org.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorAutoConfiguration,\ org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration,\ org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration,\ org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration,\ org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration,\ org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration,\ org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration,\ org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration,\ org.springframework.boot.autoconfigure.websocket.reactive.WebSocketReactiveAutoConfiguration,\ org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration,\ org.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration,\ org.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration,\ org.springframework.boot.autoconfigure.webservices.client.WebServiceTemplateAutoConfiguration这些标签都是可以ctrl点进去的每一个都对应一个xxxAutoConfiguration配置类这些类在这些包中 Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Inherited AutoConfigurationPackage Import({AutoConfigurationImportSelector.class}) public interface EnableAutoConfiguration {String ENABLED_OVERRIDE_PROPERTY spring.boot.enableautoconfiguration;Class?[] exclude() default {};String[] excludeName() default {}; }AutoConfigurationPackage AutoConfigurationPackage自动配置包导入的组件由AutoConfigurationPackages.Registrar.class决定 Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Inherited Import({AutoConfigurationPackages.Registrar.class}) public interface AutoConfigurationPackage {String[] basePackages() default {};Class?[] basePackageClasses() default {}; }AutoConfigurationPackages是一个抽象类Registrar是其静态内部类。 AutoConfigurationPackage注解的作用是将添加该注解的类所在的package 作为 自动配置package 进行管理。 将启动类所在的包子包都注册到自动装配包中 public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) {AutoConfigurationPackages.register(registry, (String[])(new PackageImports(metadata)).getPackageNames().toArray(new String[0]));}通过元数据AnnotationMetadata获取被 Import 注解的类的注解信息即注解元数据进而获取包名将包名的string数组注册到自动导入包中 这个注解不是很重要只是定义了一些自动装配的包规则AutoConfigurationImportSelector才是完成自动装配的重点 AutoConfigurationImportSelector Import给容器中导入一个组件 将所有需要导入的组件以全类名的方式返回这些组件就会被添加到容器中会给容器中导入非常多的自动配置类xxxAutoConfiguration就是给容器中导入这个场景需要的所有组件并配置好这些组件 将spring-boot-autoconfigure.jar/META-INF/spring.factories文件中org.springframework.boot.autoconfigure.EnableAutoConfiguration对应的value里的所有xxxConfiguration类加载到IOC容器中。而xxxAutoConfiguration类一般都会有ConditionalOnxxx注解通过这些条件注解来判断是否真正的创建xxxConfiguration对象。 自动装配原理 自动装配主要是装配两部分的bean组件本项目内的依赖jar包内的 依赖jar包又可以分为spring-boot-autoconfigure包其他 AutoConfigurationPackage注解将添加该注解的类所在的package 作为自动配置package 进行管理保存自动配置类的全限定包名以供之后的使用比如给JPA entity扫描器用来扫描开发人员通过注解Entity定义的entity类 SpringBoot启动类自动标注了该注解所以当SpringBoot应用启动时默认会将启动类所在的package作为自动配置的package提供给后续扫描bean组件的注解Controller,Mapper,Service等使用 所以AutoConfigurationPackage负责自动装配本项目内的bean组件Import(AutoConfigurationImportSelector.class)负责自动装配pom依赖项目的bean组件 SpringBoot启动的时候加载主配置类开启了自动配置功能 EnableAutoConfigurationEnableAutoConfiguration注解利用EnableAutoConfigurationImportSelector给容器中导入一些组件。查看selectImports()方法的内容 // 获取候选的配置 List configurations getCandidateConfigurations(annotationMetadata, attributes);SpringFactoriesLoader.loadFactoryNames() 扫描所有jar包类路径下 META‐INF/spring.factories 把扫描到的这些文件的内容包装成properties对象 从properties中获取到EnableAutoConfiguration.class类类名对应的值然后把他们添加在容器中 对每一个自动配置类进行自动配置功能 根据当前不同的条件判断决定这个配置类是否生效 一旦这个配置类生效这个配置类就会给容器中添加各种组件 这些组件的属性是从对应的properties类中获取的这些类里面的每一个属性又是和配置文件绑定的 约定大于配置 如果有些值你没有配置的话那程序会取一个默认值换句话说能取默认值的配置就不需要配置了这个默认值就是约定。 约定可以减少很多配置 约定优于配置convention over configuration也称作按约定编程是一种软件设计范式旨在减少软件开发人员需做决定的数量获得简单的好处而又不失灵活性。 在SpringBoot中约定大于配置可以从以下几方面来理解 SpringBoot会加载大量的自动配置类这些配置类会根据ConditionalXXX注解默认加载到bean容器中自动装配默认配置 想要修改可以从resources下的application.yaml中修改配置 在spring boot中提供了一套默认配置不需要手动去写xml配置文件不写xml项目也能跑起来。 只有默认配置不能满足我们的需求时才会去修改配置自定义yaml文件 maven的默认目录结构也体现了约定大于配置的思想 /src/main/java目录用来存放java源文件src/main/resources目录用来存放资源文件如application.yml文件mybatis的*mapper.xml文件/src/test/java目录用来存放java测试文件/src/test/resources目录用来存放测试资源文件/target目录为项目的输出位置
http://www.w-s-a.com/news/596410/

相关文章:

  • 做视频课程网站建设一个普通网站需要多少钱
  • 专做化妆品的网站合肥做网站建设公司
  • 唐山企业网站网站建设费计入那个科目
  • 企业网站制作运营彩虹云主机官网
  • 如何建设废品网站如何在阿里云云服务器上搭建网站
  • 如何建立网站后台程序wordpress 后台管理
  • 山东外贸网站建设怎么样wordpress首页左图右文
  • 志丹网站建设wordpress 形式修改
  • 南通seo网站推广费用网站建设就业前景
  • 自适应网站做mip改造浏览器广告投放
  • 网站meta网页描述网站的推广费用
  • 偃师市住房和城乡建设局网站网站个人主页怎么做
  • 做网站要实名认证吗wordpress去掉仪表盘
  • 在哪做网站好Python建网站的步骤
  • 卢松松的网站办公室设计布局
  • 住房城乡建设干部学院网站织梦网站0day漏洞
  • 企业网站seo优帮云手机桌面布局设计软件
  • 无证做音频网站违法吗智能建站加盟电话
  • 鹿泉专业网站建设做网站为什么要建站点
  • 加强网站建设和维护工作新闻大全
  • 红鱼洞水库建设管理局网站左右左布局网站建设
  • 手机网站建设地址做网站公
  • 贵州建设厅网站首页网络公司除了做网站
  • 运动鞋建设网站前的市场分析wordpress 搜索框代码
  • app开发网站开发教程平台网站开发的税率
  • 百度网站优化排名加强服务保障满足群众急需i
  • 宁夏建设职业技术学院网站安徽网站优化建设
  • 四川关于工程建设网站硬盘做网站空间
  • 桂林网站制作培训学校外包seo公司
  • 莱州网站建设方案北京装修公司口碑