SpringCloud入门学习笔记1--父工程搭建

一、spring cloud简介

1.1 什么是SpringCloud

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、 熔断器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并 没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框 架组合起来,通过Spring Boot风格进行再封装。屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

1.2 SpringCloudSpringBoot的关系

Spring Boot Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具;Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架;Spring Boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring Boot来实现的,Spring Boot可以离开Spring Cloud独立使用,但是Spring Cloud离不开Spring Boot,属于依赖的关系。

1.3 SpringCloud 主要框架

服务发现:Netflix Eureka

服务调用:Netflix Feign(服务调用方式有两种,一种是 ribbon+restTemplate,另一种是feign

熔断器:Netflix Hystrix

服务网关:Netflix Zuul

分布式配置:Spring Cloud Config

消息总线:Spring Cloud Bus

1.4 前期准备(开发环境,工具等)

IDEA 2017.3.1、 JDK1.8、数据库mysql 5.5.61、maven3.2.3、postman、RabbitMQ_Server

二、搭建父工程

点击File>new>project

填写GroupId ArtifacetId ,点击next按钮,最后点击Finish 完成创建。

因为本次的创建的为父工程,相当于一个壳,所以可以删掉src文件夹。

父工程创建完成后推荐大家优先修改项目的maven仓库地址,避免使用默认地址导致下载大量的jar包到C盘。

修改方法:File>Settings>弹出界面在搜索框输入maven

红圈位置就是默认的仓库地址,以后maven下载的包都会放到里面。

选择你自己的maven

勾选Override 选择自己的配置文件

继续勾选Override 选择或者新建一个包用来存储以后maven下载的包,最后点击OK,完事。

 

下面配置pom文件

packaging标签说明

项目的打包类型:pom、jar、war

packing默认是jar类型

<packaging>pom</packaging>   --------->   父类型都为pom类型

<packaging>jar</packaging>      --------->   内部调用或者是作服务使用

<packaging>war</packaging>    --------->   需要部署的项目

项目中一般使用maven进行模块管理,每个模块下对应都有一个pom文件,pom文件中维护了各模块之间的依赖和继承关系。项目模块化可以将通用的部分抽离出来,方便重用;修改一部分代码不再是build整个项目,缩短了build时间;此外各模块都有自己的pom文件,结构更清晰。

使用maven进行模块划分管理,一般都会有一个父级项目,pom文件除了GAV(groupId, artifactId, version)是必须要配置的,另一个重要的属性就是packaging打包类型,所有的父级项目的packaging都为pom,packaging默认是jar类型,如果不作配置,maven会将该项目打成jar包。作为父级项目,还有一个重要的属性,那就是modules,通过modules标签将项目的所有子项目引用进来,在build父级项目时,会根据子模块的相互依赖关系整理一个build顺序,然后依次build。

对于各个子项目,需要在其对应的pom文件开头申明对父级项目的引用,通过GAV实现。对于子项目自己的GAV配置,GV如果不配置,则会从父级项目的配置继承过来。子模块可通过dependencies标签来添加自己的依赖,此外子类项目的packaging值只能是war或者jar,前面已经说过,packaging默认是jar类型。如果是需要部署的项目,则需要打包成war类型,如果只是内部调用或者是作服务使用,则推荐打包成jar类型。

依次导入需要的依赖包后,父工程就算创建完成了。pom.xml配置如下:

    <groupId>springcloud_demo_parent</groupId>
    <artifactId>springcloud_demo_parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <!--SpringCloud最新稳定版本-->
        <spring-cloud.version>Finchley.SR1</spring-cloud.version>
    </properties>
    <!--SpringCloud依赖版本管理-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

下一篇:SpringCloud学习笔记2--eureka

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值