栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring cloud alibaba学习-01

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring cloud alibaba学习-01

新建一个springcloud小项目

创建父项目创建子项目子项目通讯spring cloud alibaba 版本

创建父项目
基本父项目搭建,父项目作为下面微服务的统一调配整合者,不需要确切的运行方式和打包,所以采用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来实现

    
       
           
               com.alibaba.cloud
               spring-cloud-alibaba-dependencies
               2.2.7.RELEASE
               pom
               import
           
       
    

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

    
        
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                2.2.7.RELEASE
            
            
                org.springframework.boot
                spring-boot-starter-parent
                2.3.12
                pom
                import
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                Hoxton.SR12
                pom
                import
            
        
    

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/770894.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号