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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 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";

   }

}

项目结构


相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
7月前
|
应用服务中间件 Nacos nginx
黑马头条_SpringCloud项目阶段一:环境搭建(Mac版本)
本文为 Mac 用户介绍微服务项目环境搭建,含阿里云服务器用 Docker 装 Nacos 1.2.0,本地通过 brew 装 OpenJDK 8、Maven 3.6.1、Redis,Docker 部署 MySQL 5.7 并配字符集,及 Nginx 安装与反向代理设置,附命令与配置步骤。
420 4
黑马头条_SpringCloud项目阶段一:环境搭建(Mac版本)
|
11月前
|
IDE Java 开发工具
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
IntelliJ IDEA创建Java项目的图文详细步骤,手把手带你创建Java项目
1834 10
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
|
11月前
|
监控 测试技术 开发者
IDEA项目调试你都会用了么,快看看是否有你不知道的调试技巧
在IntelliJ IDEA中,熟练运用调试工具可显著提升开发效率。通过设置断点、单步执行、变量监控等功能,快速定位问题并优化代码性能。此外,掌握多线程调试、异常处理及远程调试技巧也至关重要。为提高效率,建议合理使用条件断点、快捷键与日志监控,同时不断学习总结经验。若觉得有用,别忘了点赞收藏!
IDEA项目调试你都会用了么,快看看是否有你不知道的调试技巧
|
11月前
|
数据安全/隐私保护
IntelliJ IDEA使用技巧:在一个项目中如何正确引用其他子模块。
我希望这个解答可以帮助你,有了这些知识,你可以更好地使用IntelliJ IDEA并轻松处理项目中的子模块。
931 19
|
Java 应用服务中间件 API
Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)
本文详细介绍了Servlet的开发流程,包括在IntelliJ IDEA中添加Tomcat依赖的详细教程。通过上述步骤,开发者可以快速搭建并运行一个基本的Servlet应用,理解并掌握Servlet的开发流程对于Java Web开发至关重要。希望本文能够帮助开发者顺利进行Servlet开发,提高工作效率。
1553 78
|
Java Maven
Idea配置项目的热启动
Idea配置项目的热启动
2905 5
Idea配置项目的热启动
|
负载均衡 Java API
项目中用的网关Gateway及SpringCloud
Spring Cloud Gateway 是一个功能强大、灵活易用的API网关解决方案。通过配置路由、过滤器、熔断器和限流等功能,可以有效地管理和保护微服务。本文详细介绍了Spring Cloud Gateway的基本概念、配置方法和实际应用,希望能帮助开发者更好地理解和使用这一工具。通过合理使用Spring Cloud Gateway,可以显著提升微服务架构的健壮性和可维护性。
849 0
|
NoSQL Java Redis
springCloud中将redis共用到common模块
通过将Redis配置和操作服务提取到Common模块,可以在Spring Cloud微服务架构中实现高效的代码复用和统一管理。这种设计不仅简化了各个服务的配置和依赖管理,还提高了代码的可维护性和可读性。希望本文对你在Spring Cloud项目中集成和使用Redis有所帮助。
695 0
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
1178 1
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
15121 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)

热门文章

最新文章