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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
对象存储 OSS,20GB 3个月
简介: 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
目录
相关文章
|
2月前
|
Java
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
156 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
|
1月前
|
运维 网络安全 持续交付
IDEA+Docker 远程一键部署项目:技术干货分享
【10月更文挑战第4天】在现代软件开发中,快速、可靠、自动化的部署流程是提升开发效率和运维质量的关键。IDEA(IntelliJ IDEA)作为Java开发者首选的IDE,结合Docker这一轻量级容器化技术,能够实现远程一键部署项目,极大地简化了开发到生产的流程。今天,我将和大家分享这一组合在工作学习中的实际应用和技术干货。
235 3
|
3月前
|
Java Maven
解决idea每次新建maven项目都需要重新配置maven的问题
解决idea每次新建maven项目都需要重新配置maven的问题
164 1
|
1月前
|
JSON SpringCloudAlibaba Java
Springcloud Alibaba + jdk17+nacos 项目实践
本文基于 `Springcloud Alibaba + JDK17 + Nacos2.x` 介绍了一个微服务项目的搭建过程,包括项目依赖、配置文件、开发实践中的新特性(如文本块、NPE增强、模式匹配)以及常见的问题和解决方案。通过本文,读者可以了解如何高效地搭建和开发微服务项目,并解决一些常见的开发难题。项目代码已上传至 Gitee,欢迎交流学习。
133 1
Springcloud Alibaba + jdk17+nacos 项目实践
|
1月前
|
Java Maven Kotlin
idea maven创建kotlin项目
本文介绍了在IntelliJ IDEA中使用Maven创建Kotlin项目的步骤,包括在`pom.xml`文件中添加Maven中央仓库、配置`kotlin-maven-plugin`插件、指定源目录、添加测试插件和执行插件,以及添加Kotlin测试依赖和标准库依赖。文中还提到了如何通过更换镜像或使用代理来解决依赖下载速度慢的问题,并展示了运行示例代码的截图。
92 4
idea maven创建kotlin项目
|
26天前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
39 1
|
1月前
IDEA创建项目失败提示 Failed to create directory 或 “项目初始化失败”
文章解释了IDEA创建项目失败提示“Failed to create directory”或“项目初始化失败”的原因通常是由于IDEA对目标文件夹没有操作权限,并建议更换一个有权限的文件夹来创建项目。
324 1
IDEA创建项目失败提示 Failed to create directory 或 “项目初始化失败”
|
15天前
|
NoSQL Java Redis
springCloud中将redis共用到common模块
通过将Redis配置和操作服务提取到Common模块,可以在Spring Cloud微服务架构中实现高效的代码复用和统一管理。这种设计不仅简化了各个服务的配置和依赖管理,还提高了代码的可维护性和可读性。希望本文对你在Spring Cloud项目中集成和使用Redis有所帮助。
15 0
|
1月前
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
347 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
1月前
|
Java 应用服务中间件 Maven
【终极解决方案】IDEA maven 项目修改代码不生效。
【终极解决方案】IDEA maven 项目修改代码不生效。
341 1