创建项目结构-使用代码生成器创建mapper enetity service controller
发布日期:2021-05-25 12:33:55 浏览次数:21 分类:精选文章

本文共 3320 字,大约阅读时间需要 11 分钟。

Spring Boot项目结构优化与依赖管理

在前期开发过程中,我们通常会遇到多个实际问题,尤其是在项目初始化和依赖管理方面。本文将详细介绍如何通过合理设置父工程和子模块的项目结构,优化依赖版本控制,实现高效的开发环境配置。

项目结构优化

1. 创建父工程

首先,我们创建一个基于 Maven 的 Spring Boot 父工程 guli-parent。在父项目的 pom.xml 文件中,设置核心依赖版本,并通过版本管理来统一子模块依赖的版本控制。这样可以避免相互依赖冲突,同时降低开发和维护成本。

1.8
0.0.1-SNAPSHOT
3.0.5
2.0
2.7.0
2.8.3
2.10.1
3.17
1.3.1
2.6
4.5.1
0.7.0
4.3.3
3.1.0
2.15.2
1.4.11
1.2.28
2.8.2
20170516
1.7
1.1.0
zx
0.2.2.RELEASE

2. 子模块管理

在父工程项目结构中,除了父工程本身,通常还需要为不同的功能模块创建独立的子模块。具体操作步骤:

  • 删除父工程项目下的 src 文件夹,这将清空现有代码。
  • 右键点击父工程项目名,选择 New Module,并创建一个 Maven 模块,命名为 service

在新的子模块 servicepom.xml 文件中,设置模块类型为 pom,即:

service
jar

为了便于代码生成和管理,同时避免依赖冲突,我们可以选择在子模块中自定义必要的依赖。以下是一个典型的子模块依赖示例:

org.springframework.boot
spring-boot-starter-web
com.baomidou
mybatis-plus-boot-starter
mysql
mysql-connector-java

代码生成与效率优化

在开发过程中,重复性代码的生成极大影响效率。为了提高开发效率,可以采用代码生成器工具进行自动化代码创建。以下是一个基于 MyBatis-Plus 的代码生成器配置示例:

public class CodeGenerator {    private AutoGenerator mpg = new AutoGenerator();    @Test    public void run() {        GlobalConfig globalConfig = new GlobalConfig();        globalConfig.setOutputDir("E:/springboot/guli_parent/service/service_edu/src/main/java");        globalConfig.setAuthor("atguigu");        globalConfig.setOpen(false);        globalConfig.setFileOverride(false);        DataSourceConfig dataSourceConfig = new DataSourceConfig();        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/guli?serverTimezone=GMT+8");        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");        dataSourceConfig.setUsername("root");        dataSourceConfig.setPassword("123");        dataSourceConfig.setDbType(DbType.MYSQL);        mpg.setDataSource(dataSourceConfig);        PackageConfig packageConfig = new PackageConfig();        packageConfig.setModuleName("serviceedu");        packageConfig.setParent("com.kaki");        packageConfig.setController("controller");        packageConfig.setEntity("entity");        packageConfig.setService("service");        packageConfig.setMapper("mapper");        mpg.setPackageInfo(packageConfig);        StrategyConfig strategyConfig = new StrategyConfig();        strategyConfig.setInclude("edu_teacher");        strategyConfig.setNaming(NamingStrategy.underline_to_camel);        strategyConfig.setTablePrefix("serviceedu_");        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);        strategyConfig.setEntityLombokModel(true);        strategyConfig.setRestControllerStyle(true);        strategyConfig.setControllerMappingHyphenStyle(true);        mpg.setStrategy(strategyConfig);        mpg.execute();    }}

将上述代码放置于 src/test 目录下,并在测试方法中执行可以自动生成所需的实体类、服务类、控制器类和映射类等代码。

总结

通过合理设置父工程和子模块的项目结构优化,统一管理依赖版本,优化代码生成器的使用流程,可以显著提升开发效率,同时实现代码管理和维护的规范化。

上一篇:tips1
下一篇:MybatisPlus使用QueryWrapper实现复杂查询

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年05月01日 12时39分10秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

anaconda、python卸载后重装以及anaconda--443 2023-01-23
AWVS工具太顶了,漏洞扫描工具AWVS介绍及安装教程 2023-01-23
CentOS 系列:CentOS 7 使用 virt-install + vnc 图形界面/非图形界面 创建虚拟机 2023-01-23
CentOS 系列:CentOS 7文件系统的组成 2023-01-23
CentOS系列:【Linux】CentOS7操作系统安装nginx实战(多种方法,超详细) 2023-01-23
CSDN----Markdown编辑器 2023-01-23
Docker容器进入的4种方式(推荐最后一种) 2023-01-23
Docker部署postgresql-11以及主从配置 2023-01-23
EnvironmentNotWritableError: The current user does not have write permissions to the target environm 2023-01-23
Golang起步篇(Windows、Linux、mac三种系统安装配置go环境以及IDE推荐以及入门语法详细释义) 2023-01-23
Hyper-V系列:windows11开启系统自带安卓虚拟机并安装apk包 2023-01-23
Hyper-V系列:微软官方文章 2023-01-23
idea打war包的两种方式 2023-01-23
Java系列:【注释模板】IDEA中JAVA类、方法注释模板教程 2023-01-23
JS系列(仅供参考):【浏览器编程】浏览器F12调试工具面板详解和JavaScript添加断点 2023-01-23
Kali 更换源(超详细,附国内优质镜像源地址) 2023-01-23
kali安装docker(亲测有效) 2023-01-23
Linux系列:Linux目录分析:[/] + [/usr] + [/usr/local] + [/usr/local/app-name]、Linux最全环境配置 + 动态库/静态库配置 2023-01-23
Linux系列:ubuntu各版本之间的区别以及Ubuntu、kubuntu、xUbuntu、lubuntu等版本区别及界面样式 2023-01-23
mysql系列:远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法 2023-01-23