SpringCloud工程项目搭建

目录

前言

工程项目搭建:

1、在IDEA中选择创建新的项目工程

2、取名合适的模块名

3、pom文件引入以下依赖

4、idea配置

5、删除该父工程的src目录

6、搭建支付微服务和订单微服务

7、订单微服务

8、支付微服务

9、测试


前言

接着上篇,搭建SpringCloud工程项目:SpringCloud及SpringCloudAlibaba微服务组件

工程项目搭建:

1、在IDEA中选择创建新的项目工程

然后选择maven及jdk版本为自己本地的JDK版本,我这里选择的jdk1.8

2、取名合适的模块名

然后点击完成。搭建完成springboot的工程,我们只需要将springcloud的依赖引入即可。

3、pom文件引入以下依赖

此处是先创建一个父类工程,然后将后续练习的子模块工程放入该父类工程中进行统一管理

    <!--统一管理jar包版本-->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <junit.version>4.12</junit.version>
        <lombok.version>1.18.10</lombok.version>
        <log4j.version>1.2.17</log4j.version>
        <mysql.version>8.0.18</mysql.version>
        <druid.version>1.1.16</druid.version>
        <mybatis.spring.boot.version>2.1.1</mybatis.spring.boot.version>
    </properties>

    <!--子模块继承之后,提供作用:锁定版本+子module不用谢groupId和version-->
    <dependencyManagement>
    <dependencies>
    <!--<dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>3.0.0</version>
    </dependency>-->
    <!--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 阿里巴巴-->
    <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>
    <!--mysql-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql.version}</version>
        <scope>runtime</scope>
    </dependency>
    <!-- druid-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>${druid.version}</version>
    </dependency>
        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${mybatis.spring.boot.version}</version>
        </dependency>
        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
        </dependency>
        <!--log4j-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>
    </dependencies>

    </dependencyManagement>

 dependencyManagement 最顶层的父POM中看到这个标签

子工程会找到拥有 👆这个标签的的版本号,父类找不到再去找子类的版本

总结:首先会去找到父类的版本并引用,但如果子项目需要引用另外一个版本,只需要声明version即可,父类有版本号,子类没有版本号情况下引用父类版本号,子类有版本号的情况下,使用子类版本号

4、idea配置

修改 Java Compiler 版本、修改Annotation Processors (选择default,选择enable annotation )、file encodings 修改utf-8编码

5、删除该父工程的src目录

最终搭建效果如下:

6、搭建支付微服务和订单微服务

支付模块(服务提供者)

cloud-provider-payment(微服务提供者-支付模块)

cloud-consumer-order(微服务消费者-订单模块)

7、订单微服务

1、创建工程模块

        类似上面创建模块,选择新建模块,然后点击maven,选择本地的JDK版本   ->   此处父类选择上面创建的父类模块即可   ->   然后选择合适的命名即可

 2、编写pom文件

    <dependencies>
        <dependency>
            <groupId>org.all</groupId>
            <artifactId>cloud-api-commons</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!--如果要将服务注册到 eureka 则需要新添加eureka的依赖 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>


        <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>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
        <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>
        </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>
    </dependencies>

3、编写yml文件

server:
  port: 80

spring:
  application:
    name: cloud-order-service
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource    #当前数据源操作类型
    driver-class-name: com.mysql.jdbc.Driver    #此处不对哈  mysql驱动包
    url: jdbc:mysql://localhost:3306/db2022?useUnicode=true&characterEncoding=utf-8
    username: root
    password: root

eureka:
  client:
    register-with-eureka: true    # 是否要将自己注册进Eureka Server 默认为true
    # 是否从Eureka Server 抓取已有的注册信息,默认为true。
    # 单点无所谓,集群必须设置为true才能与ribbon使用负载均衡
    fetch-registry: true
    service-url:
      #defaultZone: http://localhost:7001/eureka   #单个注册这样即可
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7001.com:7001/eureka   #集群注册


mybatis:
  mapper-locations: classpath:com.spring.com.cloud.payment.mapper/*.xml
  type-aliases-package: com.spring.com.cloud.payment.bean

4、启动类

@SpringBootApplication
public class OrderApplication80 {
    public static void main(String[] args) {
        SpringApplication.run(OrderApplication80.class,args);
    }
}

8、支付微服务

与创建订单微服务类似,注意yml文件中的端口号不要冲突即可

9、测试

编写简单的增删改查业务实现,分别启动订单微服务和支付微服务,用postman调用看是否正常

至此工程项目搭建完成,后续将对springcloud的组件展开使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值