本文章部分摘录自 Spring Cloud Wiki 和 lzhou666的博客
快速开始(创建第一个SpringBoot应用)
基于Spring Boot构建Spring Cloud,可以在类路径中自动引入提升应用程序性能的一组类库。您可以利用默认配置来快速启动,然后当您需要时,您可以配置或扩展以创建自定义解决方案。
发布版的版本号要在artifact:spring-cloud-dependencies 中明确使用,其他的版本标签会从parent中获取,你可以使用dependencyManagement去做版本依赖管理,下面是使用最新版config client和eureka的配置用例。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Features
Spring Cloud 侧重提供良好的开箱即用体验
Distributed/versioned configuration
Service registration and discovery
Routing
Service-to-service calls
Load balancing
Circuit Breakers
Global locks
Leadership election and cluster state
Distributed messaging
Spring Cloud 提供一个发布方法,通常你获得很多特性仅是由于一个classpath的变化或注解,下面是一个discovery client的例子
@Controller
@SpringBootApplication
public class Application {
@ResponseBody
@RequestMapping(value = "/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
此时直接运行应用程序,在浏览器中输入 http://localhost:8080/ 即可看到效果了。
同样,我们可以使用Maven的命令进行打包。你在pom文件中看到的spring-boot-maven-plugin插件就是打包spring boot应用的。
进入工程目录运行mvn package,如:
D:\WorkSpace\learning\spring-cloud\spring-cloud-starting>
mvn package
D:\WorkSpace\learning\spring-cloud\spring-cloud-starting>cd target
D:\WorkSpace\learning\spring-cloud\spring-cloud-starting\target>java -jar spring-cloud-starting.jar --server.port=8081
上面的参数部分 --server.port=8081
不要的话默认就是使用8080端口。
Spring boot提供的一些开箱即用的应用非常容易使用,比如监控,你只需要在pom文件中引入:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
引入之后,spring boot是默认开启监控的,运行应用你可以在浏览器中输入 http://localhost:8080/health (若上面启动使用的是其他端口,请修改端口为上面的启动端口),你可以在浏览器中看到应用程序返回的监控信息了,如:
{"status":"UP","diskSpace":{"status":"UP","total":419834097664,"free":415250927616,"threshold":10485760}}
信息包括程序执行状态以及基本的磁盘信息。
那么,看完这篇博文的你,赶紧动手试一试吧^_^