1.Spring Cloud是一个工具集:Spring Cloud是在Spring Boot的基础上构建的,用于简化分布式系统构建的工具集;使架构师在创建和发布微服务时极为便捷和有效.
Spring Cloud解决分布式中的问题:
项目 | 详细 |
No.1 | 配置管理 |
No.2 | 控制总线 |
No.3 | 集群管理 |
No.4 | 安全机制 |
No.5 | Session管理 |
No.6 | Failback |
No.7 | 智能路由 |
No.8 | 网关管理 |
No.9 | 服务管理(服务发现/服务注册等) |
2.Spring Boot简介
Spring Boot可以帮助开发者更容易地创建基于Spring的应用程序和服务。
Spring Boot的作用在于创建和启动新的基于Spring框架的项目。
Spring Boot会选择最适合的Spring子项目和第三方开源库进行整合。
大部分Spring Boot应用只需要非常少的配置就可以快速运行起来。
Spring Boot包含的特性如下:
创建可以独立运行的Spring应用。
直接嵌入Tomcat或Jetty服务器,不需要部署WAR文件。
提供推荐的基础POM文件来简化Apache Maven配置。
尽可能的根据项目依赖来自动配置Spring框架。
提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
没有代码生成,也没有XML配置文件。
服务发现和智能路由
3. Spring Boot入门: Hello World
建一个空的MAVEN项目myproject
POM.xml
4.0.0 com.example myproject 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-parent 1.4.0.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-maven-plugin spring-snapshots http://repo.spring.io/snapshot true spring-milestones http://repo.spring.io/milestone spring-snapshots http://repo.spring.io/snapshot spring-milestones http://repo.spring.io/milestone
l 发布服务
package com.springboot.test;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@EnableAutoConfigurationpublic class Example { @RequestMapping("/hello1") String home() { return "Hello World!"; } @RequestMapping("/hello2/{myName}") String index(@PathVariable String myName) { return "Hello "+myName+"!!!"; }}
l 启动类
package com.springboot.test;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}
l 测试
在浏览器中输入:
http://localhost:8080/hello1
http://localhost:8080/hello2/chenxiaobing