Spring-Cloud 学习之旅 --- 快速开始(一)

本博文参考官方文档总结


使用Spring Boot(本文使用Maven做依赖管理)

1. 启动方式分为2种
  • 1.1 继承父级启动

在项目的pom.xml设置继承自 spring-boot-starter-parent

<!-- Inherit defaults from Spring Boot -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.1.RELEASE</version>
</parent>

使用这样的配置,你也可以在你自己的项目中通过重写一个属性来覆盖单个依赖。例如,要升级到另一个Spring Data 的版本系列,你可以将下面的内容添加到你的pom.xml

<properties>
    <spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version>
</properties>
  • 1.2 不使用父POM使用SpringBoot

不是每一个人都喜欢继承自spring-boot-starter-parent 的POM,你可能有自己需要去使用并继承的父POM,或者你可能更喜欢明确声明你的Maven配置,则可以使用一下的配置

<dependencyManagement>
     <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.4.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

使用这样的配置,不允许你使用上面解释的使用一个属性的方式来覆盖单个依赖。为了达到同样的效果,您必须添加一个 dependencyManagement 入口。例如,要升级到另一个Spring Data 的版本系列,你可以将下面的内容添加到你的pom.xml

<dependencyManagement>
    <dependencies>
        <!-- Override Spring Data release train provided by Spring Boot -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-releasetrain</artifactId>
            <version>Fowler-SR2</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.4.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
2. 修改Java版本号

spring-boot=starter-parent 会选择相对保守的Java兼容性,如果您想遵守我们的建议,并使用一个相对较新的Java版本,您可以添加一个 java.version 属性:

<properties>
    <java.version>1.8</java.version>
</properties>
3. 使用 Spring Boot Maven 插件

Spring-Boot 包含了一个Maven插件,允许我们将工程打包成一个可执行的jar包。如果您想要使用它,请将插件添加到您的 <plugins> 部分中:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

开始使用

入门程序是一组方便的依赖关系描述符,你可以包含在你的应用程序中。您无需通过示例代码和复制粘贴依赖关系描述就可以获得您所需要的所有关于Spring和相关技术的一站式服务。例如,如果你想要开始使用Spring和JPA做数据访问,只需要在您的项目中包含 spring-boot-start-data-jpa,您就可以开始使用了。

入门程序包括了许多您需要去快速创建和运行的依赖,并使用一致的受支持的传递依赖。

所有 官方的 开始者们都遵循类似的命名模式; spring-boot-starter-*,其中*是特定类型的应用程序。这个命名结构旨在在你需要查找一个启动程序的时候提供帮助。许多IDE中的Maven集成允许您通过名字来搜寻依赖。例如,在安装了相应的Eclipse或者STS插件以后,您可以简单地在POM编辑器中通过按 Ctrl-Space 并输入 spring-boot-starter 来获取完整的列表。

正如创建自己的启动器部分的描述相同,第三方启动器不应该以 spring-boot 启动,因为它预留了官方的 Spring Boot 工件。acme的第三方启动器通常命名为 acme-spring-boot-starter

下面的应用启动器是由Spring Boot提供的 org.springframework.boot 分组的:

NameDescriptionPom
spring-boot-starter-thymeleafStarter for building MVC web applications using Thymeleaf viewsPom
spring-boot-starter-wsStarter for using Spring Web Services. Deprecated as of 1.4 in favor of spring-boot-starter-web-servicesPom
spring-boot-starter-data-couchbaseStarter for using Couchbase document-oriented database and Spring Data CouchbasePom
spring-boot-starter-artemisStarter for JMS messaging using Apache ArtemisPom
spring-boot-starter-web-servicesStarter for using Spring Web ServicesPom
spring-boot-starter-mailStarter for using Java Mail and Spring Framework’s email sending supportPom
spring-boot-starter-data-redisStarter for using Redis key-value data store with Spring Data Redis and the Jedis clientPom
spring-boot-starter-webStarter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded containerPom
spring-boot-starter-data-gemfireStarter for using GemFire distributed data store and Spring Data GemFirePom
spring-boot-starter-activemqStarter for JMS messaging using Apache ActiveMQPom
spring-boot-starter-data-elasticsearchStarter for using Elasticsearch search and analytics engine and Spring Data ElasticsearchPom
spring-boot-starter-integrationStarter for using Spring IntegrationPom
spring-boot-starter-testStarter for testing Spring Boot applications with libraries including JUnit, Hamcrest and MockitoPom
spring-boot-starter-hornetqStarter for JMS messaging using HornetQ. Deprecated as of 1.4 in favor of spring-boot-starter-artemisPom
spring-boot-starter-jdbcStarter for using JDBC with the Tomcat JDBC connection poolPom
spring-boot-starter-mobileStarter for building web applications using Spring MobilePom
spring-boot-starter-validationStarter for using Java Bean Validation with Hibernate ValidatorPom
spring-boot-starter-hateoasStarter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOASPom
spring-boot-starter-jerseyStarter for building RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-webPom
spring-boot-starter-data-neo4jStarter for using Neo4j graph database and Spring Data Neo4jPom
spring-boot-starter-websocketStarter for building WebSocket applications using Spring Framework’s WebSocket supportPom
spring-boot-starter-aopStarter for aspect-oriented programming with Spring AOP and AspectJPom
spring-boot-starter-amqpStarter for using Spring AMQP and Rabbit MQPom
spring-boot-starter-data-cassandraStarter for using Cassandra distributed database and Spring Data CassandraPom
spring-boot-starter-social-facebookStarter for using Spring Social FacebookPom
spring-boot-starter-jta-atomikosStarter for JTA transactions using AtomikosPom
spring-boot-starter-securityStarter for using Spring SecurityPom
spring-boot-starter-mustacheStarter for building MVC web applications using Mustache viewsPom
spring-boot-starter-data-jpaStarter for using Spring Data JPA with HibernatePom
spring-boot-starterCore starter, including auto-configuration support, logging and YAMLPom
spring-boot-starter-velocityStarter for building MVC web applications using Velocity views. Deprecated since 1.4Pom
spring-boot-starter-groovy-templatesStarter for building MVC web applications using Groovy Templates viewsPom
spring-boot-starter-freemarkerStarter for building MVC web applications using FreeMarker viewsPom
spring-boot-starter-batchStarter for using Spring BatchPom
spring-boot-starter-redisStarter for using Redis key-value data store with Spring Data Redis and the Jedis client. Deprecated as of 1.4 in favor of spring-boot-starter-data-redisPom
spring-boot-starter-social-linkedinStater for using Spring Social LinkedInPom
spring-boot-starter-cacheStarter for using Spring Framework’s caching supportPom
spring-boot-starter-data-solrStarter for using the Apache Solr search platform with Spring Data SolrPom
spring-boot-starter-data-mongodbStarter for using MongoDB document-oriented database and Spring Data MongoDBPom
spring-boot-starter-jooqStarter for using jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbcPom
spring-boot-starter-jta-narayanaSpring Boot Narayana JTA StarterPom
spring-boot-starter-cloud-connectorsStarter for using Spring Cloud Connectors which simplifies connecting to services in cloud platforms like Cloud Foundry and HerokuPom
spring-boot-starter-jta-bitronixStarter for JTA transactions using BitronixPom
spring-boot-starter-social-twitterStarter for using Spring Social TwitterPom
spring-boot-starter-data-restStarter for exposing Spring Data repositories over REST using Spring Data RESTPom
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值