spring cloud alibaba学习-01

创建父项目

基本父项目搭建,父项目作为下面微服务的统一调配整合者,不需要确切的运行方式和打包,所以采用pom项目的形式。

在这里插入图片描述
基本项目无需确切的启动方式和其他工具插件,所以在项目依赖设置中不做操作。
在这里插入图片描述
创建完成后,项目下只有一个pom文件,由于是基于springboo快速搭建的,所以打包方式是默认为jar,但是正如前面所说,父项目是不需要打包的,所以要手动修改打包方式为pom。

创建子项目

子项目要求继承父项目的pom依赖,所以子项目建立时候,采用maven项目创建会使后期修改变得容易一些,如果是采用spring initializr方式创建,则会又一次继承springboot,修改起来就较为麻烦
在这里插入图片描述

子项目通讯

不同子项目之间是需要restTemplate协议来通信调用的。

增加配置类

@Configuration
public class RestTemplateConfig {
    @Bean
    public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
        return new RestTemplate(factory);
    }

    @Bean
    public ClientHttpRequestFactory simpleClientHttpRequestFactory() {
        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
        factory.setReadTimeout(5000);//ms
        factory.setConnectTimeout(15000);//ms
        return factory;
    }

}

然后在某一个子项目中注入调用

 @Autowired
    private RestTemplate restTemplate;

    @RequestMapping("/add")
    public String order(){
        System.out.println("下订单");
        String msg = restTemplate.getForObject("http://localhost:8082/stock/reduce", String.class);
        return "订单成功" + msg;
    }

spring cloud alibaba 版本

版本说明: 版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub
在这里插入图片描述
本次使用的最新稳定版本
在这里插入图片描述
但是pom同样是无法多继承的,我们的父项目的pom是继承了spring boot的依赖,所以要想在继承spring cloud alibaba 的依赖就要借用maven的dependencyManagement来实现

<!--通过dependencyManagement来继承阿里巴巴的spring cloud-->
    <dependencyManagement>
       <dependencies>
           <dependency>
               <groupId>com.alibaba.cloud</groupId>
               <artifactId>spring-cloud-alibaba-dependencies</artifactId>
               <version>2.2.7.RELEASE</version>
               <type>pom</type>
               <scope>import</scope>
           </dependency>
       </dependencies>
    </dependencyManagement>

当然,spring boot,spring cloud都可以是用这种方式进行版本管理,所以父项目的pom文件中展示如下:

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.7.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>2.3.12</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR12</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

阿里云同样提供了类似于初始化的脚手架的功能,只需要把spring initializr的地址改为阿里云的地址[https://start.aliyun.com/]即可
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值