您的位置:首页 > 编程语言 > Java开发

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

2017-02-15 11:05 651 查看
本博文参考官方文档总结

使用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-thymeleaf
Starter for building MVC web applications using Thymeleaf viewsPom
spring-boot-starter-ws
Starter for using Spring Web Services. Deprecated as of 1.4 in favor of spring-boot-starter-web-servicesPom
spring-boot-starter-data-couchbase
Starter for using Couchbase document-oriented database and Spring Data CouchbasePom
spring-boot-starter-artemis
Starter for JMS messaging using Apache ArtemisPom
spring-boot-starter-web-services
Starter for using Spring Web ServicesPom
spring-boot-starter-mail
Starter for using Java Mail and Spring Framework’s email sending supportPom
spring-boot-starter-data-redis
Starter for using Redis key-value data store with Spring Data Redis and the Jedis clientPom
spring-boot-starter-web
Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded containerPom
spring-boot-starter-data-gemfire
Starter for using GemFire distributed data store and Spring Data GemFirePom
spring-boot-starter-activemq
Starter for JMS messaging using Apache ActiveMQPom
spring-boot-starter-data-elasticsearch
Starter for using Elasticsearch search and analytics engine and Spring Data ElasticsearchPom
spring-boot-starter-integration
Starter for using Spring IntegrationPom
spring-boot-starter-test
Starter for testing Spring Boot applications with libraries including JUnit, Hamcrest and MockitoPom
spring-boot-starter-hornetq
Starter for JMS messaging using HornetQ. Deprecated as of 1.4 in favor of spring-boot-starter-artemisPom
spring-boot-starter-jdbc
Starter for using JDBC with the Tomcat JDBC connection poolPom
spring-boot-starter-mobile
Starter for building web applications using Spring MobilePom
spring-boot-starter-validation
Starter for using Java Bean Validation with Hibernate ValidatorPom
spring-boot-starter-hateoas
Starter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOASPom
spring-boot-starter-jersey
Starter for building RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-webPom
spring-boot-starter-data-neo4j
Starter for using Neo4j graph database and Spring Data Neo4jPom
spring-boot-starter-websocket
Starter for building WebSocket applications using Spring Framework’s WebSocket supportPom
spring-boot-starter-aop
Starter for aspect-oriented programming with Spring AOP and AspectJPom
spring-boot-starter-amqp
Starter for using Spring AMQP and Rabbit MQPom
spring-boot-starter-data-cassandra
Starter for using Cassandra distributed database and Spring Data CassandraPom
spring-boot-starter-social-facebook
Starter for using Spring Social FacebookPom
spring-boot-starter-jta-atomikos
Starter for JTA transactions using AtomikosPom
spring-boot-starter-security
Starter for using Spring SecurityPom
spring-boot-starter-mustache
Starter for building MVC web applications using Mustache viewsPom
spring-boot-starter-data-jpa
Starter for using Spring Data JPA with HibernatePom
spring-boot-starter
Core starter, including auto-configuration support, logging and YAMLPom
spring-boot-starter-velocity
Starter for building MVC web applications using Velocity views. Deprecated since 1.4Pom
spring-boot-starter-groovy-templates
Starter for building MVC web applications using Groovy Templates viewsPom
spring-boot-starter-freemarker
Starter for building MVC web applications using FreeMarker viewsPom
spring-boot-starter-batch
Starter for using Spring BatchPom
spring-boot-starter-redis
Starter 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-linkedin
Stater for using Spring Social LinkedInPom
spring-boot-starter-cache
Starter for using Spring Framework’s caching supportPom
spring-boot-starter-data-solr
Starter for using the Apache Solr search platform with Spring Data SolrPom
spring-boot-starter-data-mongodb
Starter for using MongoDB document-oriented database and Spring Data MongoDBPom
spring-boot-starter-jooq
Starter for using jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbcPom
spring-boot-starter-jta-narayana
Spring Boot Narayana JTA StarterPom
spring-boot-starter-cloud-connectors
Starter for using Spring Cloud Connectors which simplifies connecting to services in cloud platforms like Cloud Foundry and HerokuPom
spring-boot-starter-jta-bitronix
Starter for JTA transactions using BitronixPom
spring-boot-starter-social-twitter
Starter for using Spring Social TwitterPom
spring-boot-starter-data-rest
Starter for exposing Spring Data repositories over REST using Spring Data RESTPom
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring