springboot网站开发01-如何搭建Maven类型父子嵌套结构项目
springboot网站开发01-如何搭建Maven类型父子嵌套结构项目!众所周知,实际上,在真正的公司项目开发中为了让代码实现更多的复用,提升项目的开发效率,节省开发的成本(人力成本较高,代码可以尽量复用),很多都会采取父子嵌套的结构搭建Maven项目。下面为大家展示一下,如何搭建一个基础的父子嵌套Maven项目。
首先,我们需要创建一个父级别的Maven工程。里面的重点是:你只需要配置好你的子模块(子项目)的名字即可。当然了,如果你不提前配置,直接创建子模块,也是可以的,它会自动识别到,自动追加配置参数的。很方便。
<?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>org.example</groupId>
<artifactId>blog</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>blog-framework</module>
<module>blog-admin</module>
<module>hnseo321-blog</module>
</modules>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- SpringBoot的依赖配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.5.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--fastjson依赖-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.33</version>
</dependency>
<!--jwt依赖-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.0</version>
</dependency>
<!--mybatisPlus依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
<!--阿里云OSS-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>3.0.9</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>
</project>
以上信息,就是创建根项目(父级根项目的pom.xml内容)
里面有2个地方需要注意:
第一个注意点:
如图,这里面有一个《modules》标签,这个标签就是可以告诉代码,我是一个根,你要帮我管理我的子集合模块。
里面的《module》都是每一个子模块(子项目)的名字。
第二个注意点:
这个标签,是告诉代码,你需要帮我管理子模块的导入,采用import的方式导入子模块内容,子模块类型也是pom格式配置的。
如下图所示,我这个就是其中一个子模块,名字叫做hnseo321-blog。
这是它自己的pom.xml信息,里面可以看见,多了标签《parent》,父标签,里面写清楚了,它隶属于谁,谁是它的父项目。
下面那个《artifactId》标签,写的是它自己本身的名字。
里面有一个点需要注意:
它作为一个前端项目(前端用户可以看见交互的webUI界面,调用的业务处理接口,都来自这个子项目啊。)它肯定少不了和数据库查询互动的,它里面还会调用一个公共的子模块(blog-framework);
这个blog-framework子模块,和hnseo321-blog是同一个级别的,都是隶属于父模块的。同一级别。
这样我们就可以省去写两遍代码了,因为我们的项目,还有一个子模块叫后端模块,负责后端管理的业务处理逻辑接口服务。(blog-admin).在后端处理接口项目中,也会调用到这一批CUDA的代码,为了实现代码复用,我们就把CUDA的代码封装到了一个公共子模块里,取个名字叫:blog-framework.
下面给大家看看,在子模块(后端模块)li也是同样的方式,调用了公共模块(blog-framework)
如图,这个内容就是后端模块(blog-admin)的pom.xml信息,和前端模块(hnseo321-blog)的配置信息基本上是一样的,都带有一个parent标签(声明自己隶属于谁),都有一个依赖项(告诉springboot框架,我需要依赖于哪个子模块的代码信息。)
下面给大家展示一下我的完整项目逻辑图:
如图,实际上,这个搭建过程很快,1-2分钟就能完成了,剩下的就是你的编码任务了。详细的内容后面会和大家陆续分享的。欢迎交流互动,springboot网站开发技术。
祝您可以一次性成功创建属于自己的父子嵌套Maven项目结构。