手动搭建微服务项目(springcloud+springboot+mybatis)

一、创建普通maven项目,该项目为微服务架构中的父项目

父项目:springcloud 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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.cduestc</groupId>
    <artifactId>springcloud</artifactId>
    <version>1.0-SNAPSHOT</version>
    
    <!--父项目打包方式要使用pom-->
    <packaging>pom</packaging>

    <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>
        <lombok.version>1.18.10</lombok.version>
        <log4j.version>1.2.12</log4j.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!--springcloud相关依赖-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--springboot相关依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.1.4.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--数据库驱动-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.46</version>
            </dependency>

            <!--druid数据源-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.1.12</version>
            </dependency>

            <!--mybatis-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.1.1</version>
            </dependency>

            <!--log4j-->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4j.version}</version>
            </dependency>

            <!--日志测试-->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>1.2.3</version>
            </dependency>

            <!--junit-->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>

            <!--lombok-->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>
            
        </dependencies>
    </dependencyManagement>
</project>

二、创建第一个子项目模块

1、springcloud-api 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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>springcloud</artifactId>
        <groupId>cn.cduestc</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.cduestc.springcloud</groupId>
    <artifactId>springcloud-api</artifactId>

    <!--这里导入父项目中有的依赖是可以不用写版本的,保证了项目依赖的统一性-->
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>
</project>

2、在该模块中编写实体类

package cn.cduestc.springcloud.pojo;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

@Data
@NoArgsConstructor
@Accessors(chain = true)  //开启该类的链式写法
//实体类必须实现Serializable接口,保证在微服务架构项目模块之间进行通信时可以序列化
public class Dept implements Serializable{
   

    private Long id;
    private String name;
    //微服务架构一个服务对应一个数据库,不同信息可能存在不同数据库,该字段表示存在哪个数据库
    private String db_source;
}

三、创建第二个子项目模块(服务提供者)

1、springcloud-provider-dept-8081 pom.xml

        <!--引入我们自己的项目模块,就可以拿到实体类了-->
        
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,这是一个比较宏观的问题,需要分步骤进行讲解。我会尽可能地详细地回答你的问题。 首先,我需要确认一下你对这些技术的了解程度。你是否已经熟悉了这些技术的基本概念和用法? 如果你已经了解了这些技术,那么我们可以开始讲解如何搭建微服务项目。以下是搭建微服务项目的主要步骤: 1. 创建父工程 在Maven中创建一个父工程,用于管理子模块的依赖关系。我们可以在父工程中定义一些公共的依赖和插件,以便在子模块中进行复用。 2. 创建子模块 在父工程下创建多个子模块,每个子模块代表一个微服务。每个子模块可以有自己的依赖和配置文件,也可以有自己的数据库。 3. 配置Spring Cloud Alibaba 在每个子模块中引入Spring Cloud Alibaba的依赖,并进行相应的配置。Spring Cloud Alibaba提供了一系列的组件,包括服务注册与发现、配置管理、消息队列、分布式事务等,我们可以根据实际需要选择使用哪些组件。 4. 集成MyBatis 在每个子模块中引入MyBatis的依赖,并进行相应的配置。MyBatis是一个轻量级的ORM框架,可以方便地进行数据库操作。 5. 编写业务代码 在每个子模块中编写业务代码,包括控制器、服务、DAO等。在编写业务代码时,我们可以通过注解进行调用其他微服务的接口,实现微服务之间的调用。 6. 部署微服务 将每个子模块打包成jar包,并分别部署到不同的服务器上。在每个服务器上启动对应的微服务微服务之间就可以通过网络进行通信了。 以上是搭建微服务项目的主要步骤。当然,实际上还有很多细节需要注意,比如如何处理微服务之间的异常、如何进行负载均衡等等。但总的来说,搭建微服务项目的核心思想就是将一个大型的应用拆分成多个小型的服务,每个服务都有自己的职责,通过网络进行通信,最终共同完成整个应用的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值