首页 > 其他分享 >建一个微服务项目

建一个微服务项目

时间:2024-02-22 17:26:57浏览次数:11  
标签:一个 spring 服务项目 boot springframework 模块 org cloud

1、idea创建项目

 2、创建完成后,将src文件删除,因为这个是父模块,只需要使用pomx.xml即可。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>
    <groupId>org.ongoal</groupId>
    <artifactId>company_cloud_project</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>company_cloud_project</name>
    <description>company_cloud_project</description>
    <packaging>pom</packaging>   <!--此处添加打包方式-->
    <properties>
        <java.version>11</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.6.13</spring-boot.version>
        <spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>  <!-- 确定微服务版本-->
        <spring-cloud.version>2021.0.5</spring-cloud.version>
    </properties>
    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <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>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.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>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version> 
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

3、接下去就创建几个demo微服务模块。每个模块需要的依赖几乎都差不多,此处我添加两个+gateway网关模块

① gateway模块

 先添加三个依赖,后面需要再添加别的依赖

 然后将gateway的pom.xml文件改造如下,①添加父类的地址,②删除property,③删除测试依赖,④删除dependencyManagement。这些删除是因为父类里面都有了,不需要重复。

<?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>
    <groupId>org.ongoal</groupId>
    <artifactId>gateway</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gateway</name>
    <description>gateway</description>
    <parent>
        <groupId>org.ongoal</groupId>
        <artifactId>company_cloud_project</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <mainClass>org.ongoal.gateway.GatewayApplication</mainClass>
                    <skip>true</skip>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

删除一些无用的模块

 ②user模块

 添加一些依赖

 将选中的无用文件删除

 改造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>
    <groupId>org.ongoal</groupId>
    <artifactId>user-module</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>user-module</name>
    <description>user-module</description>
    <parent>
        <groupId>org.ongoal</groupId>
        <artifactId>company_cloud_project</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>

    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <mainClass>org.ongoal.usermodule.UserModuleApplication</mainClass>
                    <skip>true</skip>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

③再添加一个stock模块,就不截图了,同user-module模块

④添加一个common模块,将一些公共功能和代码添加进去

 

最后记得在父模块的pom.xml文件中添加子模块

 在业务模块(比如user-module),引入common

 以上仅仅为记录!

 

标签:一个,spring,服务项目,boot,springframework,模块,org,cloud
From: https://www.cnblogs.com/qwg-/p/18027629

相关文章

  • 搭建我们自己的第一个three项目
    搭建项目我们要学习three,那么我们势必需要在本地搭建一个自己的项目。首先我们需要在我们自己的电脑中安装node,创建一个node环境。这个自行从网上百度,这里就不再介绍了。(简单的一批,自行百度吧,如果不会,那么也不要学习three了)Parcel这里我们使用Parcel来打包我们的项目(你也可以......
  • 如何在python中判断一个字符串是否可以转换为数字
    方法一:isdigit()不可识别汉字小数类型str1='1'str2='2.1'str3='三'str4='3.3.3.3'print(str1.isdigit())print(str2.isdigit())print(str3.isdigit())print(str4.isdigit())结果:TrueFalseFalseFalse方法二:isdecim......
  • 接私活利器!推荐一个基于SpringBoot3的后台管理框架
    大家好,我是Java陈序员。今天,给大家推荐一个后台管理框架,适合二次定制开发、接私活、源码学习等场景。关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。项目介绍Admin3——一个轻巧的后台管理框架,项目后端基于Java17、SpringBo......
  • # 代码随想录算法训练营day01 | leetcode 704. 二分查找、35.搜索插入位置、34.在排序
    题目链接:704.二分查找-简单题目描述:给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示......
  • 第一个微信好友分析
    利用pc端微信获取数据,实现个人微信好友数据的获取,并进行一些简单的数据分析一、所需要的七个第三方库及其安装1、PillowPIL:PythonImagingLibrary,已经是Python平台事实上的图像处理标准库。PIL功能非常强大,但API却非常简单易用。如果安装了Anaconda,Pillow就已经可用了。......
  • 前端 html 一个元素padding-right,不起作用?毫无反应?padding right 无效
    有没有宝子,开发html,给一个父元素padding-right,子元素却毫无反应,万分捉急,在线等,急!我知道你着急,但是你先别急我会在这里娓娓道来,带你走上一个新的技术台阶1、一段基础代码代码如下:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"......
  • 【C++】编写一个具有老式风格接口的函数,其原型如下:int reduce(long arr[], int n)。实
    #include<iostream>#include<string>usingnamespacestd;intreduce(longarr[],intn){sort(arr,arr+n);autostr=unique(arr,arr+n);returnstr-arr;}intmain(){longarr[10]={15,8,5,6,11,11,6,6,198,50};......
  • 一个使用公式化序列分类的EAL学术写作辅助环境
    (AnassistiveenvironmentforEALacademicwriting usingformulaicsequencesclassification)https://doi.org/10.1080/10494820.2020.1789670一、摘要研究目的:英语作为第二语言(EAL)的新手作者写一篇英语研究文章是一项具有挑战性的任务,需要句子和意义层面上的经验和训......
  • 实现两个输入框互动,一个输入框写文字自动出现在第二个输入框里面
    我们可以为第一个输入框添加一个事件监听器来监听输入(比如input事件),每当第一个输入框的值发生变化时,就会将这个值同步到第二个输入框中。第二个输入框不需要添加这样的监听器,因此它的输入不会影响第一个输入框。以下是一个示例HTML结构和使用jQuery实现的脚本:`Input......
  • 用 C# framework2.0 写一个电脑安全扫描
    编写一个电脑安全扫描工具是一个相对复杂的任务,因为它需要涉及到很多不同的方面,如系统监控、进程分析、文件扫描、注册表检查等。在C#中,.NETFramework2.0提供了很多类库,可以用来构建这样的工具,但它并不是为此目的而专门设计的。在较新的.NET版本中,例如.NETCore或.NET5/6,会有......