微服务--Spring-Boot Spring-Cloud工程搭建

前言


  • 为了进一步学习微服务实战,决定就最近比较流行的微服务框架入手;先动手搭建一套微服务的框架,尽可能功能覆盖全,且不过度追求所有技术,够用就好,后续再慢慢深入。
  • 打算搭建技术:spring-boot spring-cloud Eureka Ribbon Feign Hystrix Appllo Zuul 等

Spring Boot 搭建


  • Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
  • Spring Boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级别的Spring应用。
  • Spring Boot为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。
  • Spring Boot的核心思想就是约定大于配置,多数Spring Boot应用只需要很少的Spring配置。采用Spring Boot可以大大的简化你的开发模式,所有你想集成的常用框架,它都有对应的组件支持。
  • Spring Boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,Spring Boot整合了所有的框架
创建Maven工程
依赖Spring-boot脚手架
  • 方式一:Parent 依赖
    <parent>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-parent</artifactId>
    			<version>2.1.7.RELEASE</version>
    			<relativePath/>
    	</parent>
    
  • 方式二:spring-boot-dependencies 依赖 ; 建议尽量使用方式二,毕竟parent依赖只有一个
    <dependencyManagement>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
    </dependencyManagement>
    
创建Spring-boot web项目
  • spring boot 推荐的工程目录结构
    +-project
    	+- src/main/java (存储java文件)
    		|+- 根包路径 (最上层的路径)
    		|	- SpringBootApplication.java (spring boot启动类;必须在包下,必须最上层)
    		|
    		|+- 其他包/其他java类
    		|
    	+- src/main/resources
    		|+- static (静态资源)
    		|
    		|+- template (页面模板)
    		|
    		|+- application.yml/application.properties (spring-boot 配置文件)
    		|
    	+- src/test/java (单元测试java代码)
    	+- src/test/resources (单元测试配置文件)
    

在这里插入图片描述

  • SpringBootApplication.java 启动类
  • @SpringBootApplication 注解:是Sprnig Boot项目的核心注解,目的是开启自动配置
@SpringBootApplication
public class MsWebApplication {

    public static void main(String[] args) {
        SpringApplication.run(MsWebApplication.class, args);
    }

}
启动工程
  • 执行SpringBootApplication.java 的 main方法
    在这里插入图片描述
  • 问题 启动碰到下图异常,原因是SpringBootApplication类的位置在java文件夹下,而没有在底下包路径
    在这里插入图片描述
  • 启动成功后,访问工程里面的一个controller
    在这里插入图片描述
    最基本;最简单的spring-boot工程搭建完成。

引入Spring Cloud


  • Spring Cloud是一个基于Spring Boot实现的云原生应用开发工具,它为基于JVM的云原生应用开发中涉及的配置管理、服务发现、熔断器、智能路由、微代理、控制总线、分布式会话和集群状态管理等操作提供了一种简单的开发方式。
  • spring cloud 并非是具体的实现,也不是某一个组件的解决方案。而是在Spring Boot基础之上构建的,用于快速构建分布式系统的通用模式的工具集。
  • 所以引入Spring Cloud 只是整合这套工具集,将Spring Cloud生态带入到工程中在这里插入图片描述
引入Spring Cloud
  • 基于上面简单的spring boot的maven工程
  • 依赖 spring-cloud-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>
    
  • 引入工具集之后,后续需要什么就可以拿什么
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值