JavaWeb模块化开发与项目搭建流程【SpringBoot】【JavaWeb】【Mybatis】【Swagger】【多模块】

0 模板简介

本文记录了我在最近进行的今日指数项目中,如何从零开始搭建一个Java Web多模块项目,并集成MyBatis和Swagger。同时,还实现了一个根据用户名查询用户信息的简单功能。主要目的是通过规范项目目录结构,达到举一反三的效果。

1 创建父工程

模板由父子模块组成,parent模块负责管理版本,demo_common通用模块,demo_backend业务模块。

1.1 创建空的父工程

在Advanced Settings中填写项目信息。

GroupId:组织的唯一标识符,域名.公司名.项目名,org.apache.tomcat

ArtifactID: 项目的唯一的标识符, 项目名-xxx

在maven中通过GroupId和ArtifactID唯一确定一个jar包。
在这里插入图片描述

1.2 修改项目的maven地址

新建一个项目默认选择的是idea中自带的maven,我们修改为本地maven。
在这里插入图片描述

1.3 修改文件编码

在这里插入图片描述

1.4修改父工程的pom文件

1.4.1修改打包方式为pom

父工程不需要部署,只定义项目的依赖及版本。将项目打包方式修改为pom

<packaging>pom</packaging>

1.4.2.properties+dependencyManagement管理子工程的依赖版本

在properties中定义版本号(相当于全局变量),dependencyManagement中使用${},引入参数即可
dependencyManagement只做依赖的版本定义,并不直接导入依赖。
dependencyManagement中爆红解决方案
以下是模板使用的全局依赖定义,个人开发时根据实际情况删减。

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <maven.surefire.version>2.12.4</maven.surefire.version>
        <mybatis-spring-boot-starter.version>2.1.4</mybatis-spring-boot-starter.version>
        <pagehelper-spring-boot-starter.version>1.2.12</pagehelper-spring-boot-starter.version>
        <mysql-driver.version>5.1.49</mysql-driver.version>
        <fastjson.version>1.2.71</fastjson.version>
        <springfox-swagger2.version>2.9.2</springfox-swagger2.version>
        <druid-spring-boot-starter.version>1.1.22</druid-spring-boot-starter.version>
        <druid-core-version>1.2.8</druid-core-version>
        <sharding-jdbc.version>4.0.0-RC1</sharding-jdbc.version>
        <jjwt.version>0.9.1</jjwt.version>
        <easyExcel.version>3.0.4</easyExcel.version>
        <xxl-job-core.version>2.3.0</xxl-job-core.version>
        <spring-boot.version>2.5.3</spring-boot.version>
        <joda-time.version>2.10.5</joda-time.version>
        <google.guava.version>30.0-jre</google.guava.version>
        <knif4j.version>2.0.2</knif4j.version>
        <hutool.version>5.7.21</hutool.version>
        <swagger.version>2.6.1</swagger.version>
        <junit.version>3.8.1</junit.version>
    </properties>
    <!--定义依赖的版本,不负责依赖的引入,只负责版本的约定-->
    <dependencyManagement>
        <!--!!!易错点-->
        <!--因为dependencyManagement标签只负责定义版本,不负责导入,如果maven仓库中没有指定的依赖,则报红色警告
            解决方式:先通过dependencies标签下载资源,然后删除
        -->
        <dependencies>
            <!--引入junit依赖-->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <!--引入springboot依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--引入mybatis场景依赖-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis-spring-boot-starter.version}</version>
            </dependency>
            <!--pageHelper场景依赖-->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>${pagehelper-spring-boot-starter.version}</version>
            </dependency>
            <!--mysql驱动包-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-driver.version}</version>
            </dependency>
            <!--shardingjdbc分库分表-->
            <dependency>
                <groupId>org.apache.shardingsphere</groupId>
                <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
                <version>${sharding-jdbc.version}</version>
            </dependency>
            <!--json工具包-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>
            <!--druid-boot依赖-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid-spring-boot-starter.version}</version>
            </dependency>
            <!--druid core-->
            <dependency>
                <groupId>com.alibaba</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值