spring cloud 中怎么搭建alibaba微服务

2023-05-22,

这篇文章给大家介绍spring cloud 中怎么搭建alibaba微服务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1.创建父工程cloud2020

2.引入相关jar包

<modelVersion>4.0.0</modelVersion><groupId>com.yxw.springcloud</groupId><artifactId>cloud2020</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><modules>  <module>cloud-provider-payment8001</module></modules><name>springcloud</name><!-- FIXME change it to the project's website --><url>http://maven.apache.org/</url><inceptionYear>2001</inceptionYear><distributionManagement>  <site>    <id>website</id>    <url>scp://webhost.company.com/www/website</url>  </site></distributionManagement><!--统一管理jar包版本--><properties>  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  <maven.compiler.source>1.8</maven.compiler.source>  <maven.compiler.target>1.8</maven.compiler.target>  <junit.version>4.12</junit.version>  <log4j.version>1.2.17</log4j.version>  <lombok.version>1.16.18</lombok.version>  <mysql.version>8.0.24</mysql.version>  <druid.version>1.1.16</druid.version>  <mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version></properties><!--子模块继承之后,提供作用:锁定版本+子module不用groupId和version--><dependencyManagement>  <dependencies>    <!--spring boot 2.2.2-->    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-dependencies</artifactId>      <version>2.2.2.RELEASE</version>      <type>pom</type>      <scope>import</scope>    </dependency>    <!--spring cloud Hoxton.SR1-->    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-dependencies</artifactId>      <version>Hoxton.SR1</version>      <type>pom</type>      <scope>import</scope>    </dependency>    <!--spring cloud alibaba 2.1.0.RELEASE-->    <dependency>      <groupId>com.alibaba.cloud</groupId>      <artifactId>spring-cloud-alibaba-dependencies</artifactId>      <version>2.1.0.RELEASE</version>      <type>pom</type>      <scope>import</scope>    </dependency>    <dependency>      <groupId>mysql</groupId>      <artifactId>mysql-connector-java</artifactId>      <version>${mysql.version}</version>    </dependency>    <dependency>      <groupId>com.alibaba</groupId>      <artifactId>druid</artifactId>      <version>${druid.version}</version>    </dependency>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>${junit.version}</version>    </dependency>    <dependency>      <groupId>org.projectlombok</groupId>      <artifactId>lombok</artifactId>      <version>${lombok.version}</version>      <optional>true</optional>    </dependency>    <dependency>      <groupId>com.baomidou</groupId>      <artifactId>mybatis-plus</artifactId>      <exclusions>        <exclusion>          <groupId>com.github.jsqlparser</groupId>          <artifactId>jsqlparser</artifactId>        </exclusion>      </exclusions>    </dependency>  </dependencies></dependencyManagement><build>  <plugins>    <plugin>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-maven-plugin</artifactId>      <version>2.1.6.RELEASE</version>      <configuration>        <fork>true</fork>        <addResources>true</addResources>      </configuration>    </plugin>  </plugins></build>

3.创建子工程

cloud-provider-payment8001

4.引入相关jar包

<parent>    <artifactId>cloud2020</artifactId>    <groupId>com.yxw.springcloud</groupId>    <version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-provider-payment8001</artifactId><dependencies>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-actuator</artifactId>    </dependency>    <dependency>        <groupId>com.alibaba</groupId>        <artifactId>druid-spring-boot-starter</artifactId>        <version>1.1.10</version>    </dependency>    <!--mysql-connector-java-->    <dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-jdbc</artifactId>    </dependency>    <!-- 热部署 -->    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-devtools</artifactId>        <scope>runtime</scope>        <optional>true</optional>    </dependency>    <dependency>        <groupId>org.projectlombok</groupId>        <artifactId>lombok</artifactId>        <optional>true</optional>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-test</artifactId>        <scope>test</scope>    </dependency>    <dependency>        <groupId>com.baomidou</groupId>        <artifactId>mybatis-plus-boot-starter</artifactId>        <version>3.4.0</version>    </dependency>    <!-- 代码生成器 -->    <dependency>        <groupId>com.baomidou</groupId>        <artifactId>mybatis-plus-generator</artifactId>        <version>3.4.0</version>    </dependency>    <!-- 模板引擎 -->    <dependency>        <groupId>org.apache.velocity</groupId>        <artifactId>velocity-engine-core</artifactId>        <version>2.0</version>    </dependency>    <dependency>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-site-plugin</artifactId>        <version>3.3</version>    </dependency></dependencies>

5.创建启动类

@SpringBootApplication@MapperScan(basePackages = "com.yxw.**.mapper")public class PaymentApplication {public static void main(String[] args) {
        SpringApplication.run(PaymentApplication.class, args);    }
}

6.编写yml文件

server:  port: 8001spring:  application:name: cloud-provider-service  datasource:type: com.alibaba.druid.pool.DruidDataSource      #当前数据源操作类型    driver-class-name: com.mysql.cj.jdbc.Driver        #mysql驱动包    url: jdbc:mysql://localhost:3306/cloud2020?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=trueusername: rootpassword: 123456mybatis-plus:  #实体扫描,多个package用逗号或者分号分隔  typeAliasesPackage: com.yxw.**.model  mapper-locations: classpath:mapper/*.xml

7.编写业务代码测试我们之前搭建的环境是否可用,代码这里就不贴出来了,获取完整代码:https://gitee.com/xiaowei_328/cloud2020.git

8.在创建个子工程:cloud-consumer-order80

注:相关配置和代码这里可以参考我上传的代码这里不做过多解释

9.用RestTemplate调用我们8001端口服务

10.controller代码如下:

配置好以后分别启动80和8001端口的服务

浏览器访问如下:http://localhost/consumer/payment/get/1388397492484583426

简单说明下因为我访问的时候没有加80端口,因为浏览器默认就是80端口所以这里可以省略。

                                                    工程重构

1.上面我们创建的80和8001两个服务都有共同的实体类,我们要给抽出来一个公共的模块

    (1)接着在父工程下创建子工程:cloud-api-commons

    (2)修改pom文件

<dependencies>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-devtools</artifactId>        <scope>runtime</scope>        <optional>true</optional>    </dependency>    <dependency>        <groupId>org.projectlombok</groupId>        <artifactId>lombok</artifactId>        <optional>true</optional>    </dependency>    <dependency>        <groupId>cn.hutool</groupId>        <artifactId>hutool-all</artifactId>        <version>5.1.0</version>    </dependency></dependencies>

(3)将我们之前创建的实体类复制到commons工程下

2.修改cloud-consumer-order80工程pom文件,引入cloud-api-commons公共服务jar包

<!--引入自己定义的api通用包,可以使用Payment支付Entity--><dependency>    <groupId>com.yxw.springcloud</groupId>    <artifactId>cloud-api-commons</artifactId>    <version>${project.version}</version></dependency>

3.修改cloud-provider-payment8001工程pom文件,引入cloud-api-commons公共服务jar包

<!--引入自己定义的api通用包,可以使用Payment支付Entity--><dependency>    <groupId>com.yxw.springcloud</groupId>    <artifactId>cloud-api-commons</artifactId>    <version>${project.version}</version></dependency>

关于spring cloud 中怎么搭建alibaba微服务就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

《spring cloud 中怎么搭建alibaba微服务.doc》

下载本文的Word格式文档,以方便收藏与打印。