首页 > 其他分享 >一、SpringCloud Alibaba之普通应用

一、SpringCloud Alibaba之普通应用

时间:2023-09-09 10:33:25浏览次数:35  
标签:jjbx SpringCloud boot springframework Alibaba 普通 import org stock

1.1、创建一个maven项目

新建项目

操作路径:File->new->project

输入相关的配置:

Name:项目名称
Location:项目所在位置
Artifact Coordinates:项目坐标(制品坐标)

更改配置文件

在项目中指定了打包方式为pom方式,此时项目目录下就不需要src目录,只保留一个pom.xml文件就行。

创建项目子模块

操作路径:右击项目名称->new->Module

 

订单子模块

 

同样创建商品子模块(stock-service),最后的项目结构如下图:

 

父项目pom文件

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>
​
    <modules>
        <module>order</module>
        <module>stock</module>
    </modules>
​
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.10</version>
        <relativePath/>
    </parent>
    <groupId>com.geely</groupId>
    <artifactId>jjbx</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>jjbx</name>
​
    <description>jjbx</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
​
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
​
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
​
</project>
​

1.2、stock-service子项目

创建一个stock模块,pom的打包方式为java

stock-service的pom文件

<?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">
    <parent>
        <artifactId>jjbx</artifactId>
        <groupId>com.geely</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
​
    <groupId>com.geely.jjbx</groupId>
    <artifactId>stock</artifactId>
​
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.5.3</version>
        </dependency>
    </dependencies>
</project>

Application

package com.geely.jjbx.stock;
​
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
​
@SpringBootApplication
public class Application {
​
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}
​

StockController

package com.geely.jjbx.stock;
​
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
​
@RestController
@RequestMapping("/stock")
public class StockController {
​
    @RequestMapping("/getStock")
    public String getStock(){
        return "getStock";
    }
}
​

application.properties

server.port=8081

 

1.3、order-service子项目

创建一个order模块,调用stock模块

order-service的pom文件

<?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">
    <parent>
        <artifactId>jjbx</artifactId>
        <groupId>com.geely</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
​
    <groupId>com.geely.jjbx</groupId>
    <artifactId>order</artifactId>
​
​
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
​
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.5.3</version>
        </dependency>
    </dependencies>
​
</project>

Application

因为要使用RestTemplate这个bean,所以要把RestTemplate注入到spring容器中,Springboot的启动类也是配置类,此处就把RestTemplate的注入放在启动类中。

package com.geely.jjbx.order;
​
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
​
@SpringBootApplication
public class OrderApplication {
​
    public static void main(String[] args) {
        SpringApplication springApplication=new SpringApplication();
        springApplication.run(Application.class,args);
    }
​
    /**
     * 注入 RestTemplate
     * @param builder
     * @return
     */
    @Bean
    public RestTemplate restTemplate(RestTemplateBuilder builder){
        RestTemplate restTemplate=builder.build();
        return restTemplate;
    }
}
​

 

OrderController

package com.geely.jjbx.order;
​
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
​
@RestController
@RequestMapping("/order")
public class OrderController {
​
    @Autowired
    private RestTemplate restTemplate;
​
    /**
     * 订单调用库存的接口
     * @return
     */
    @RequestMapping("/getOrder")
    public String getOrder(){
        String result = restTemplate.getForObject("http://localhost:8081/stock/getStock", String.class);
        System.out.println(result);
        return "order";
    }
​
}
​

application.properties

server.port=8080

1.4、run_dashboard

标签:jjbx,SpringCloud,boot,springframework,Alibaba,普通,import,org,stock
From: https://www.cnblogs.com/cplinux/p/17688984.html

相关文章

  • selenium 解析验证码(普通的字符数字的验证码),解决方式:先将验证码保存为图片,然后使用ddd
     fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromPILimportImagefromioimportBytesIOimportpytesseractimporttimeimportddddocrfromselenium.webdriver.supportimportexpected_conditionsfromselenium.webdriver.sup......
  • django-普通分页
    views.py代码:defperson_page(request):#从URL中取出参数page,这个参数是"?page=1"形式cur_page_num=request.GET.get('page')#取得PrettyNum中的记录总数total_count=models.PrettyNum.objects.all().count()#设定每一页显示多少条记录on......
  • django-普通分页实现
    views.py代码:#普通分页功能defperson_page(request):#从URL中取出参数page,这个参数是“page=1”形式cur_page_num=request.GET.get('page')#取得PrettyNum模型中的记录总数total_count=models.PrettyNum.objects.all().count()#设定每......
  • hibernate设计一棵普通的树
    请设计一个树型结构,完成下列需求:1、 任意一个节点只能有一个(或0个)父节点2、 任意一个节点可以包含多个子节点3、 给定任意一个节点,可以输出这个节点的父节点,以及父节点的父节点,一直到顶级节点,要求输出的时候,从顶级节点开始一直输出到给定的节点为止要求:给出实体类代码、hibe......
  • [转]Mysql中普通索引key 、主键索引(primary key) 、唯一索引(unique key)与index区别
    原文地址:Mysql中普通索引key、主键索引(primarykey)、唯一索引(uniquekey)与index区别-元小疯-博客园一、索引的定义和由来:    索引被用来快速找出在一个列上用一特定值的行。没有索引,MySQL不得不首先以第一条记录开始并然后读完整个表直到它找出相关的行。 ......
  • springCloud学习笔记整理
    springCloud学习笔记整理1.分布式分布式的概念:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。分布式架构的优缺点:优点:降低服务耦合有利于服务升级和拓展缺点:服务调用关系错综复杂2.微服务微服务的上述特性其实是在给分布式架构制......
  • SpringCloud知识点整理
         ......
  • springcloud项目添加多个应用到启动列表中dashboard
    在微服务项目中,我们经常会有多个应用需要启动,如果不进行设置的话,会出现刚启动的应用将已经启动的应用给顶掉,这个时候,我们可以将启动的应用进行保存就可以了,这样,我们在应用启动列表中就能够看到我们所有的启动的应用了,并且还能够对这些应用进行关闭或者启动 ......
  • SpringCloudAlibaba之Sentinel介绍
    目录1Sentinel1.1Sentinel简介1.2核心概念1.2.1资源1.2.2规则1.3入门Demo1.3.1引入依赖1.3.2集成Spring1.3.3Spring中资源规则1.4Sentinel控制台1.5核心原理1.5.1NodeSelectorSlot1.5.2ClusterBuilderSlot1.5.3LogSlot1.5.4StatisticSlot1.5.5AuthoritySlot1.5.6......
  • SpringCloud笔记
    微服务技术栈:                                              ......