idea如何新建一个多模块的springCloud项目

本文涉及的产品
对象存储 OSS,20GB 3个月
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: idea如何新建一个多模块的springCloud项目1.新建主项目woniuCRM

idea如何新建一个多模块的springCloud项目

1.新建主项目woniuCRM

新建完后修改pom文件,且增加合适的依赖

<?xmlversion="1.0"encoding="UTF-8"?>

<projectxmlns="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>

   <modules>

       <module>service</module>

   </modules>

   <parent>

       <groupId>org.springframework.boot</groupId>

       <artifactId>spring-boot-starter-parent</artifactId>

       <version>2.2.1.RELEASE</version>

       <relativePath/><!--lookupparentfromrepository-->

   </parent>

   <groupId>com.woniu</groupId>

   <artifactId>woniucrm</artifactId>

   <packaging>pom</packaging>

   <version>1.0.0</version>

   <name>woniuCRM</name>

   <url>http://www.woniucrm.com</url>

   <description>蜗牛CRM管理系统</description>

   <properties>

       <woniu.version>1.0.0</woniu.version>

       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

       <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

       <java.version>1.8</java.version>

       <mybatis-plus.version>3.0.5</mybatis-plus.version>

       <velocity.version>2.0</velocity.version>

       <swagger.version>2.7.0</swagger.version>

       <aliyun.oss.version>2.8.3</aliyun.oss.version>

       <jodatime.version>2.10.1</jodatime.version>

       <poi.version>3.17</poi.version>

       <commons-fileupload.version>1.3.1</commons-fileupload.version>

       <commons-io.version>2.6</commons-io.version>

       <httpclient.version>4.5.1</httpclient.version>

       <jwt.version>0.7.0</jwt.version>

       <aliyun-java-sdk-core.version>4.3.3</aliyun-java-sdk-core.version>

       <aliyun-sdk-oss.version>3.1.0</aliyun-sdk-oss.version>

       <aliyun-java-sdk-vod.version>2.15.2</aliyun-java-sdk-vod.version>

       <aliyun-java-vod-upload.version>1.4.11</aliyun-java-vod-upload.version>

       <aliyun-sdk-vod-upload.version>1.4.11</aliyun-sdk-vod-upload.version>

       <fastjson.version>1.2.28</fastjson.version>

       <gson.version>2.8.2</gson.version>

       <json.version>20170516</json.version>

       <commons-dbutils.version>1.7</commons-dbutils.version>

       <canal.client.version>1.1.0</canal.client.version>

       <docker.image.prefix>zx</docker.image.prefix>

       <cloud-alibaba.version>0.2.2.RELEASE</cloud-alibaba.version>

   </properties>

   <!--依赖声明-->

   <dependencyManagement>

       <dependencies>

           <!--SpringCloud-->

           <dependency>

               <groupId>org.springframework.cloud</groupId>

               <artifactId>spring-cloud-dependencies</artifactId>

               <version>Hoxton.RELEASE</version>

               <type>pom</type>

               <scope>import</scope>

           </dependency>

           <dependency>

               <groupId>org.springframework.cloud</groupId>

               <artifactId>spring-cloud-alibaba-dependencies</artifactId>

               <version>${cloud-alibaba.version}</version>

               <type>pom</type>

               <scope>import</scope>

           </dependency>

           <!--mybatis-plus持久层-->

           <dependency>

               <groupId>com.baomidou</groupId>

               <artifactId>mybatis-plus-boot-starter</artifactId>

               <version>${mybatis-plus.version}</version>

           </dependency>

           <!--velocity模板引擎, MybatisPlus代码生成器需要-->

           <dependency>

               <groupId>org.apache.velocity</groupId>

               <artifactId>velocity-engine-core</artifactId>

               <version>${velocity.version}</version>

           </dependency>

           <!--swagger-->

           <dependency>

               <groupId>io.springfox</groupId>

               <artifactId>springfox-swagger2</artifactId>

               <version>${swagger.version}</version>

           </dependency>

           <!--swaggerui-->

           <dependency>

               <groupId>io.springfox</groupId>

               <artifactId>springfox-swagger-ui</artifactId>

               <version>${swagger.version}</version>

           </dependency>

           <!--日期时间工具-->

           <dependency>

               <groupId>joda-time</groupId>

               <artifactId>joda-time</artifactId>

               <version>${jodatime.version}</version>

           </dependency>

           <!--xls-->

           <dependency>

               <groupId>org.apache.poi</groupId>

               <artifactId>poi</artifactId>

               <version>${poi.version}</version>

           </dependency>

           <!--xlsx-->

           <dependency>

               <groupId>org.apache.poi</groupId>

               <artifactId>poi-ooxml</artifactId>

               <version>${poi.version}</version>

           </dependency>

           <!--文件上传-->

           <dependency>

               <groupId>commons-fileupload</groupId>

               <artifactId>commons-fileupload</artifactId>

               <version>${commons-fileupload.version}</version>

           </dependency>

           <!--commons-io-->

           <dependency>

               <groupId>commons-io</groupId>

               <artifactId>commons-io</artifactId>

               <version>${commons-io.version}</version>

           </dependency>

           <!--httpclient-->

           <dependency>

               <groupId>org.apache.httpcomponents</groupId>

               <artifactId>httpclient</artifactId>

               <version>${httpclient.version}</version>

           </dependency>

           <dependency>

               <groupId>com.google.code.gson</groupId>

               <artifactId>gson</artifactId>

               <version>${gson.version}</version>

           </dependency>

           <!--JWT-->

           <dependency>

               <groupId>io.jsonwebtoken</groupId>

               <artifactId>jjwt</artifactId>

               <version>${jwt.version}</version>

           </dependency>

           <!--工具类-->

           <dependency>

               <groupId>com.alibaba</groupId>

               <artifactId>fastjson</artifactId>

               <version>${fastjson.version}</version>

           </dependency>

           <dependency>

               <groupId>org.json</groupId>

               <artifactId>json</artifactId>

               <version>${json.version}</version>

           </dependency>

           <dependency>

               <groupId>commons-dbutils</groupId>

               <artifactId>commons-dbutils</artifactId>

               <version>${commons-dbutils.version}</version>

           </dependency>

       </dependencies>

   </dependencyManagement>

   <build>

       <plugins>

           <plugin>

               <groupId>org.apache.maven.plugins</groupId>

               <artifactId>maven-compiler-plugin</artifactId>

               <version>3.1</version>

               <configuration>

                   <source>${java.version}</source>

                   <target>${java.version}</target>

                   <encoding>${project.build.sourceEncoding}</encoding>

               </configuration>

           </plugin>

       </plugins>

   </build>

   <repositories>

       <repository>

           <id>public</id>

           <name>aliyunnexus</name>

           <url>https://maven.aliyun.com/repository/public</url>

           <releases>

               <enabled>true</enabled>

           </releases>

       </repository>

   </repositories>

   <pluginRepositories>

       <pluginRepository>

           <id>public</id>

           <name>aliyunnexus</name>

           <url>https://maven.aliyun.com/repository/public</url>

           <releases>

               <enabled>true</enabled>

           </releases>

           <snapshots>

               <enabled>false</enabled>

           </snapshots>

       </pluginRepository>

   </pluginRepositories>

</project>

同理新建service模块,这是个业务模块

业务模块pom

<?xmlversion="1.0"encoding="UTF-8"?>

<projectxmlns="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>woniucrm</artifactId>

       <groupId>com.woniu</groupId>

       <version>1.0.0</version>

   </parent>

   <modelVersion>4.0.0</modelVersion>

   <artifactId>service</artifactId>

   <packaging>pom</packaging>

   <modules>

       <module>woniu-user</module>

   </modules>

   <dependencies>

<!--        <dependency>-->

<!--            <groupId>org.springframework.cloud</groupId>-->

<!--            <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>-->

<!--        </dependency>-->

<!--        &lt;!&ndash;hystrix依赖,主要是用  @HystrixCommand&ndash;&gt;-->

<!--        <dependency>-->

<!--            <groupId>org.springframework.cloud</groupId>-->

<!--            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>-->

<!--        </dependency>-->

       <!--服务注册-->

<!--        <dependency>-->

<!--            <groupId>org.springframework.cloud</groupId>-->

<!--            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>-->

<!--        </dependency>-->

<!--        &lt;!&ndash;服务调用&ndash;&gt;-->

<!--        <dependency>-->

<!--            <groupId>org.springframework.cloud</groupId>-->

<!--            <artifactId>spring-cloud-starter-openfeign</artifactId>-->

<!--        </dependency>-->

       <dependency>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-web</artifactId>

       </dependency>

       <!--mybatis-plus-->

       <dependency>

           <groupId>com.baomidou</groupId>

           <artifactId>mybatis-plus-boot-starter</artifactId>

       </dependency>

       <!--mysql-->

       <dependency>

           <groupId>mysql</groupId>

           <artifactId>mysql-connector-java</artifactId>

       </dependency>

       <!--velocity模板引擎, MybatisPlus代码生成器需要-->

       <dependency>

           <groupId>org.apache.velocity</groupId>

           <artifactId>velocity-engine-core</artifactId>

       </dependency>

       <!--swagger-->

       <dependency>

           <groupId>io.springfox</groupId>

           <artifactId>springfox-swagger2</artifactId>

       </dependency>

       <dependency>

           <groupId>io.springfox</groupId>

           <artifactId>springfox-swagger-ui</artifactId>

       </dependency>

       <!--lombok用来简化实体类:需要安装lombok插件-->

       <dependency>

           <groupId>org.projectlombok</groupId>

           <artifactId>lombok</artifactId>

       </dependency>

       <!--xls-->

       <dependency>

           <groupId>org.apache.poi</groupId>

           <artifactId>poi</artifactId>

       </dependency>

       <dependency>

           <groupId>org.apache.poi</groupId>

           <artifactId>poi-ooxml</artifactId>

       </dependency>

       <dependency>

           <groupId>commons-fileupload</groupId>

           <artifactId>commons-fileupload</artifactId>

       </dependency>

       <!--httpclient-->

       <dependency>

           <groupId>org.apache.httpcomponents</groupId>

           <artifactId>httpclient</artifactId>

       </dependency>

       <!--commons-io-->

       <dependency>

           <groupId>commons-io</groupId>

           <artifactId>commons-io</artifactId>

       </dependency>

       <!--gson-->

       <dependency>

           <groupId>com.google.code.gson</groupId>

           <artifactId>gson</artifactId>

       </dependency>

       <dependency>

           <groupId>junit</groupId>

           <artifactId>junit</artifactId>

           <version>4.12</version>

       </dependency>

   </dependencies>

   <build>

       <resources>

           <resource>

               <directory>src/main/java</directory>

               <includes>

                   <include>**/*.xml</include>

               </includes>

               <filtering>false</filtering>

           </resource>

       </resources>

   </build>

</project>

然后新建业务子模块 用户模块user

<?xmlversion="1.0"encoding="UTF-8"?>

<projectxmlns="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>service</artifactId>

       <groupId>com.woniu</groupId>

       <version>1.0.0</version>

   </parent>

   <modelVersion>4.0.0</modelVersion>

   <artifactId>woniu-user</artifactId>

   <dependencies>

       <!--httpclient-->

       <dependency>

           <groupId>org.apache.httpcomponents</groupId>

           <artifactId>httpclient</artifactId>

       </dependency>

       <!--commons-io-->

       <dependency>

           <groupId>commons-io</groupId>

           <artifactId>commons-io</artifactId>

       </dependency>

       <!--gson-->

       <dependency>

           <groupId>com.google.code.gson</groupId>

           <artifactId>gson</artifactId>

       </dependency>

   </dependencies>

</project>

yml文件

server:

 port: 8160

 servlet:

   context-path: /user

spring:

 application:

   name: woniu-user

#  cloud:

#    nacos:

#      discovery:

#        server-addr: 127.0.0.1:8848

 datasource:

   driver-class-name: com.mysql.cj.jdbc.Driver

   url: jdbc:mysql://localhost:3306/woniucrm?serverTimezone=GMT%2B8

   username: root

   password:

 jackson:

   date-format: yyyy-MM-ddHH:mm:ss

   time-zone: GMT+8

#  redis:

#    database: 0

#    host: 127.0.0.1

#    lettuce:

#      pool:

#        max-active: 20

#        max-idle: 5

#        max-wait: -1

#        min-idle: 0

#    port: 6379

#    timeout: 1800000

mybatis-plus:

 configuration:

   log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

 mapper-locations: classpath:com/woniu/woniuuser/mapper/xml/*.xml

启动类

packagecom.woniu.woniuuser;

importorg.mybatis.spring.annotation.MapperScan;

importorg.springframework.boot.SpringApplication;

importorg.springframework.boot.autoconfigure.SpringBootApplication;

//import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

importorg.springframework.context.annotation.ComponentScan;

@SpringBootApplication

//@EnableDiscoveryClient

@ComponentScan(basePackages= {"com.woniu"})

@MapperScan("com.woniu.woniuuser.mapper")

publicclassUserApplication {

   publicstaticvoidmain(String[] args) {

       SpringApplication.run(UserApplication.class, args);

   }

}

UserController类

packagecom.woniu.woniuuser.controller;

importlombok.extern.slf4j.Slf4j;

importorg.springframework.web.bind.annotation.PostMapping;

importorg.springframework.web.bind.annotation.RequestMapping;

importorg.springframework.web.bind.annotation.RequestParam;

importorg.springframework.web.bind.annotation.RestController;

/**

* <p>

* 用户表 前端控制器

* </p>

*

* @author woniu

* @since 2023-07-13

*/

@RestController

@RequestMapping("/user")

@Slf4j

publicclassUserController {

   //登录

   @PostMapping("login")

   publicStringloginUser(@RequestParamStringname) {

       log.info("name"+name);

       return"name";

   }

}

项目结构


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
9天前
|
Java
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
30 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
|
2月前
|
Java Maven
解决idea每次新建maven项目都需要重新配置maven的问题
解决idea每次新建maven项目都需要重新配置maven的问题
95 1
|
6天前
|
网络安全 开发工具 git
使用Idea提交项目到远程仓库
本文介绍了如何在Idea中创建Git本地仓库、提交更改,并推送代码到Gitee远程仓库的步骤,包括创建本地仓库、提交更改、复制远程仓库地址、配置远程仓库以及推送代码到远程仓库的过程。
使用Idea提交项目到远程仓库
|
2月前
|
Java Android开发
IDEA设置项目编码格式【修改为GBK 或 UTF-8】
这篇文章介绍了在IntelliJ IDEA中如何设置项目编码格式,包括将项目编码修改为GBK或UTF-8的详细步骤和图解。
IDEA设置项目编码格式【修改为GBK 或 UTF-8】
|
2月前
|
缓存 Java 应用服务中间件
支付宝 网站支付Demo 案例【沙箱环境】IDEA如何配置启动Eclipse项目
该博客文章讲述了如何在IntelliJ IDEA中配置和启动一个使用Eclipse开发的支付宝网站支付Demo案例。文章详细记录了从导入项目到配置Tomcat,再到解决启动过程中遇到的问题的步骤。作者还分享了在IDEA中遇到的一些常见问题,如项目配置、依赖库添加、编码问题等,并提供了相应的解决方案。此外,文章还提供了支付效果的展示以及一些支付宝案例文档中需要修改的参数信息。
支付宝 网站支付Demo 案例【沙箱环境】IDEA如何配置启动Eclipse项目
|
2月前
|
Java Maven
intellij idea如何查看项目maven依赖关系图
这篇文章介绍了如何在IntelliJ IDEA中查看项目的Maven依赖关系图,包括使用Maven工具栏和相关操作来展示和查看依赖细节。
|
2月前
|
Java 应用服务中间件 Maven
Mac使用Idea配置传统SSM项目(非maven项目)
Mac使用Idea配置传统SSM项目(非maven项目)
38 1
|
2月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
36 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
2月前
|
Java Maven
成功解决IDEA中建立新项目Maven会默认选择配置(图解详细说明)
这篇文章提供了在IntelliJ IDEA中设置新项目的Maven配置的详细步骤,包括如何通过菜单路径进入设置,选择Maven配置,以及展示设置后的效果,还提供了Maven的安装教程和解决导入项目时jar包下载问题的方案。
成功解决IDEA中建立新项目Maven会默认选择配置(图解详细说明)
|
2月前
|
SQL 前端开发 Java
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)

热门文章

最新文章

下一篇
无影云桌面