Maven学习(九)Maven项目SpringCloud微服务工程构建(基于单一案例的逻辑)

本文详细介绍了如何使用Maven构建一个SpringCloud微服务工程,包括创建工程、设置父工程管理依赖、创建基础模块、实现用户登录认证服务的提供端和消费端,以及微服务的打包和部署。讲解了Nacos注册中心的启动、Feign接口的声明和实现、服务的消费和验证,最后阐述了微服务的部署运行过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


源代码地址:https://gitee.com/hs-sunrui/maven_study_micro.git

一、创建工程

1.创建工程

在这里插入图片描述

工程名 地位 说明
demo-maven-ms 父工程 总体管理各个子工程
demo01-gateway 子工程 网关
demo02-user-auth-center 子工程 用户中心
demo03-emp-manager-center 子工程 员工数据维护中心
demo04-memorials-manager-center 子工程 奏折数据维护中心
demo05-work-manager-center 子工程 批阅奏折工作中心
demo06-mysql-data-provider 子工程 mysql数据提供者
demo07-redis-data-provider 子工程 Redis数据提供者
demo08-base-api 子工程 声明feign接口
demo09-base-entity 子工程 实体类
demo-base-util 子工程 工具类

2.建立工程间依赖关系

在这里插入图片描述

二、父工程管理依赖

<?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>com.sr.maven</groupId>
    <artifactId>demo-maven-ms</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>demo01-gateway</module>
        <module>demo02-user-auth-center</module>
        <module>demo03-emp-manager-center</module>
        <module>demo04-memorials-manager-center</module>
        <module>demo05-work-manager-center</module>
        <module>demo06-mysql-data-provider</module>
        <module>demo07-redis-data-provider</module>
        <module>demo08-base-api</module>
        <module>demo09-base-entity</module>
        <module>demo-base-util</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <!--springcloud依赖导入-->
            <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR9</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--springcloud Alibab依赖导入-->
            <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.6.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--springboot依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.3.6.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--通用mapper依赖-->
            <!-- https://mvnrepository.com/artifact/tk.mybatis/mapper-spring-boot-starter -->
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-spring-boot-starter</artifactId>
                <version>2.1.5</version>
            </dependency>
            <!--druid数据源-->
            <!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>1.1.10</version>
            </dependency>
            <!--JPA依赖-->
            <!-- https://mvnrepository.com/artifact/javax.persistence/persistence-api -->
            <dependency>
                <groupId>javax.persistence</groupId>
                <artifactId>persistence-api</artifactId>
                <version>1.0</version>
            </dependency>


        </dependencies>
    </dependencyManagement>
</project>

三、打基础

1.demo10-base-util

把前面工程的工具类和异常类拷贝过来
在这里插入图片描述

package com.sr.maven.exception;

public class LoginFailException extends RuntimeException{
   

    public LoginFailException() {
   
        super();
    }

    public LoginFailException(String message) {
   
        super(message);
    }

    public LoginFailException(String message, Throwable cause) {
   
        super(message, cause);
    }

    public LoginFailException(Throwable cause) {
   
        super(cause);
    }

    protected LoginFailException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
   
        super(message, cause, enableSuppression, writableStackTrace);
    }
}

package com.sr.maven.util;

public class ImperialCourtConst {
   

    public  static final String LOGIN_FAIL_MESSAGE = "帐号、密码错误,不可进宫!";

    public static final String ACCESS_DENIED_MESSAGE = "宫闱禁地,不可擅入!";

    public static final String LOGIN_EMP_ATTR_NAME = "loginInfo";
}


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值