Spring Cloud 框架搭建
Spring Cloud架构简介及框架搭建
Spring Cloud的特点
约定优于配置;
适用于各种环境。开发、部署PC Server或各种云环境(例如阿里云、AWS等)均可;
隐藏了组件的复杂性,并提供声明式、无xml的配置方式;
开箱即用,快速启动;
轻量级的组件。Spring Cloud整合的组件大多比较轻量。例如Eureka、Zuul等,都是各自领域轻量级的实现;
组件丰富,功能齐全。Spring Cloud 为微服务架构提供了非常完整的支持。例如、配置管理、服务发现、断路器、微服务网关等;
选型中立、丰富。例如,Spring Cloud支持使用Eureka、Zookeeper或Consul实现服务发现;
灵活。Spring Cloud的组成部分是解耦的,开发人员可以按需灵活挑选技术选型。
Spring Cloud的几种架构
1.集中式架构
2.垂直加工架构
3.微服务架构
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
搭建Spring Cloud项目(以生产者消费者模型为例)
1.新建project项目
选择Maven并点击Next,写入项目名字,并直接点击Finish
2.新建Module
在项目下新建两个Module,分别为Customer和Provoder
3.配置pom.xml
在SpringCloud1的pom.xml中加入以下代码:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.7.RELEASE<version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
在Customer的pom.xml中加入以下代码:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
在Provoder的pom.xml中加入以下代码:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<pageHelper.starter.version>1.2.3</pageHelper.starter.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.4</version>
</dependency>
</dependencies>
上一篇: python搭建环境:pip install -r requirements/base.txt时安装mysqlclient报错
下一篇: 安装pip install mysqlclient 解决mysql_config:command not found
推荐阅读
-
微信授权就是这个原理,Spring Cloud OAuth2 授权码模式
-
框架搭建与EF常用基类实现
-
spring-cloud项目搭建
-
理解vue ssr原理并自己搭建简单的ssr框架
-
Spring Cloud开发人员如何解决服务冲突和实例乱窜?(IP实现方案)
-
从零开始搭建前后端分离的NetCore2.2(EF Core CodeFirst+Autofac)+Vue的项目框架之七使用JWT生成Token(个人见解)
-
Spring Cloud Gateway的动态路由怎样做?集成Nacos实现很简单
-
从零开始搭建前后端分离的NetCore2.2(EF Core CodeFirst+Autofac)+Vue的项目框架之十一Swagger使用一
-
Spring Cloud入门程序
-
Spring Cloud程序报错总结