![SpringCloud.jpg][1]https://blog.youkuaiyun.com/valada/article/details/80892573
1. Spring Cloud是什么
主要为分布式系统提供支持的一个框架·
1.1. Spring Cloud 优缺点
优点:
- Spring Cloud包含了微服务架构的方方面面。
- 约定>配置,约定>注解,没有配置文件
- 轻量级组件
- 开发灵活,简便
缺点:
- 每一个组件,或者服务都需要一个新的项目来支持。
- 部署门槛高,需要配合Docker等容器技术来进行集群部署。
2. Spring Cloud和Dubbo对比
3.SpringBoot是什么
SpringBoot的设计目的是为了简化Spring应用的搭建和开发过程,遵循“约定大于配置”原则,将繁琐且统一的XML配置加入默认配置,让用户直接导入包,且无需在XML中配置你所需要的变量。
3.1 搭建一个Spring Boot项目
1.搭建一个Maven项目
2.在pom文件中加入Spring Boot 依赖,并点击右小角导入其依赖包。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3.创建应用程序启动类DemoApplication,编写以下代码
package Start;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
4.创建一个Controller对象
代码:
package com;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
访问localhost:8080/hello 如下图所示,说明部署完成
可以看到,我们不需要配置tomcat,也无需配置web.xml文件,和spring-mvc.xml等各种繁琐的配置文件,只需要引用一个依赖,创建一个启动程序即可运行,由此可见SpringBoot能够极大地减少Spring配置文件的繁琐工作量,具体如何实现,在之后的SpringBoot原理讲解中,将会提及。
5.在resources文件夹中配置服务器设置
这样,访问的域名就变成了 localhost:8081/api/hello
6.打包成War包使其能够在Tomcat中运行
首先在pom文件中加入如下代码,指明要打包出来·的类型和文件名
<packaging>war</packaging>
<build>
<finalName>api</finalName>
<resources>
<resource>
<directory>
src/main/resources
</directory>
<filtering>
true
</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
<plugin>
<artifactId>
maven-resources-plugin
</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-surefire-plugin
</artifactId>
<version>
2.18.1
</version>
<configuration>
<skipTests>
true
</skipTests>
</configuration>
</plugin>
</plugins>
</build>
启动类要稍作修改,代码如下,需要指明其使用的是Toomcat启动,并修改相关的配置文件。
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
}
最后在build菜单栏中,选择打包即可。