美文网首页
4.环搭建--上

4.环搭建--上

作者: LANSHENGYANG | 来源:发表于2020-05-23 09:36 被阅读0次

    技术选型

    • maven:3.3.9
    • 数据库:Mysql5.7
    • 持久层:SpringData Jpa
    • 其他:SpringCloud Alibaba技术栈

    模块设计

    • springcloud-alibaba 夫工程
    • shop-common公共模块(实体类)
    • shop-user用户微服务(端口:8070)
    • shop-product商品微服务(端口8080)
    • shop-order订单微服务(端口:8090)


      image

    微服务调用

    • 在微服务架构中,最常见的场景就是微服务之间的互相调用。我们一般把服务的主动调用称为服务消费者,把服务的被调用称为服务提供者
    • 我们以电商系统中常见的用户下单为例来演示微服务的调用:客户向订单微服务发起一个下单的请求,在进行保存订单之前需要调用商品微服务查询商品的信息。
    • 在这种场景下,订单微服务就是一个服务消费者,商品微服务就是一个服务提供者。

    创建夫工程

    • 创建一个maven工程,然后在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 https://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.0.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.example</groupId>
        <artifactId>springcloud-alibaba</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>springcloud-alibaba</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
            <spring-cloud-alibaba.version>2.1.0.RELEASE</spring-cloud-alibaba.version>
        </properties>
    
        <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>
                <dependency>
                    <groupId>com.alibaba.cloud</groupId>
                    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                    <version>${spring-cloud-alibaba.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
    </project>
    
    • 对应版本:


      image

    创建基础模块

    • 1.创建shop-common模块,在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 https://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.2.6.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.example</groupId>
        <artifactId>shop-common</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>shop-common</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.56</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.6</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
    • 2.创建实体类
    @Entity(name = "shop_user")
    @Data
    public class User {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Integer uid;//主键
        private String username;//用户名
        private String password;//密码
        private String telephone;//手机号
    }
    
    @Entity(name = "shop_product")
    @Data
    public class Product {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Integer pid;//主键
        private String pname;//商品名称
        private Double pprice;//商品价格
        private Integer stock;//库存
    }
    
    @Entity(name = "shop_order")
    @Data
    public class Order {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private long oid;//订单
        private Integer uid;//用户id
        private String username;//用户名
        private  Integer pid;//商品id
        private String pname;//商品名称
        private Double pprice;//商品单价
        private Integer number;//购买数量
    }
    

    相关文章

      网友评论

          本文标题:4.环搭建--上

          本文链接:https://www.haomeiwen.com/subject/ophkahtx.html