zoukankan      html  css  js  c++  java
  • 微服务实战系列(三)-springcloud、springboot及maven之间关系

    1 . 问题描述

    随着springboot、springcloud的不断迭代升级,开发效率不断提升,越来越多的开发团队加入到spring的大军中,今天用通俗的语言,介绍下什么是springboot,springcloud以及它们之间的关系。

    2. 方案

    2.1 首先说下maven

    关于maven不想多说了,maven主要有两个功能,一是通过gav定位获取jar包,一是编译打包。

    gav示例

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.40</version>
            </dependency>
    

    2.2 springboot介绍

    2.2.1 介绍

    其实springboot就是一个maven项目,只不过使用了spring提供的多个starter来加载多个相关依赖包,starter简单说就是maven包的组合。

    比如:只需要一个web的starter包就能直接启动web服务了( springboot项目快速搭建

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>2.0.3.RELEASE</version>
            </dependency>
    
    2.2.2 依赖图

    如下图,一个starter包集合了N个包。

    2.3 springcould介绍

    2.3.1 新建springcloud项目

    新建springboot项目,选择Eureka server就可以新建eureka注册中心了。

    2.3.2 pom.xml文件
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.4.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.spc</groupId>
        <artifactId>eurekaserver</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>eurekaserver</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
            <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <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>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
    
    2.3.3 依赖图

    ”spring-cloud-netflix-eureka-server“包中已经包含:”spring-boot-starter-web“,图太了,就不截图了。

    2.4 关系总结

    通过上面的描述可以总结出:

    (1) maven是springboot的基础,springboot项目本身就是maven项目。在maven项目中使用springboot的多个starter加几个约定,就能成为springboot项目了。

    如果你觉得文章对你有些帮助,欢迎微信搜索「软件老王」第一时间阅读或交流!
    

    (2)springboot是springcloud的基础,springcloud本身是springboot项目。

    (3)关系:maven->springboot->springcloud

    maven是springboot的基础,springboot是springcloud的基础,maven不依赖于springboot,springboot不依赖与springcloud。


    更多知识请关注公众号:「软件老王」,IT技术与相关干货分享,回复关键字获取对应干货,java,送必看的10本“武功秘籍”;图片,送100多万张可商用高清图片;面试,送刚毕业就能月薪“20k”的java面试题,软考,送官方pdf书籍与通关论文,后续会不断更新,比如“工具”,“视频“等,已经在整理中。

    更多信息请关注公众号:「软件老王」,关注不迷路,IT技术与相关干货分享,回复关键字获取对应干货,本文版权归作者软件老王所有,转载需注明作者、超链接,否则保留追究法律责任的权利。
  • 相关阅读:
    webService总结(一)——使用CXF公布和调用webService(不使用Spring)
    男人最佳的生育年限,程序猿们,看看吧!!!
    软考之路(5)——计算机组成原理之加密技术和认证技术
    新安装mysql 第三方工具连接不上问题
    JQuery text()、html() 以及 val()
    DOM
    Spring Boot 学习
    JSON
    Nodejs 配置+基础
    配置-
  • 原文地址:https://www.cnblogs.com/ruanjianlaowang/p/13724609.html
Copyright © 2011-2022 走看看