【随笔】快速创建基于springboot的多模块工程

  • 介绍【本文仅作为平时的笔记,方便后续的回顾】
  • 正文
  • 1、创建父工程
  • 2、创建父工程下的service子模块
  • 3、创建父工程下的model子模块
  • 4、目录结构
  • 父pom中的子模块信息
  • 修改子模块间的引用
  • 5、添加启动类,配置文件
  • 启动类
  • 配置文件
  • application.properties样例:
  • 6、添加数据库操作
  • mybatis-config.xml
  • 7、运行启动类,编写测试方法


介绍【本文仅作为平时的笔记,方便后续的回顾】

本文旨在快速搭建一个基于springboot框架的工程,空余时间可以在这个工程基础上自由发挥,想到什么东西都可以放到这个工程里。
框架:springboot+mybatis+mysql
子模块:service,model
如有错误,恳请纠正

正文

1、创建父工程

路径:File -> New -> Project -> Spring Initializr

springboot多模块服务 model里面寻找main方法 springboot项目多模块_mysql

填写父工程信息:

springboot多模块服务 model里面寻找main方法 springboot项目多模块_mysql_02

勾选需要的dependency:

Lombok,Spring Web,数据库选择mybatis+mysql

springboot多模块服务 model里面寻找main方法 springboot项目多模块_spring_03

点击finish,创建完成。删除无用的文件。包括src目录。启动类可以放在service模块中

springboot多模块服务 model里面寻找main方法 springboot项目多模块_配置文件_04

2、创建父工程下的service子模块

右击父工程 - new - module - maven

springboot多模块服务 model里面寻找main方法 springboot项目多模块_mysql_05

填写service模块基本信息:

springboot多模块服务 model里面寻找main方法 springboot项目多模块_配置文件_06

3、创建父工程下的model子模块

创建步骤同创建service模块,填写model模块信息

springboot多模块服务 model里面寻找main方法 springboot项目多模块_mybatis_07

4、目录结构

创建完的目录结构如下

父pom中的子模块信息

springboot多模块服务 model里面寻找main方法 springboot项目多模块_spring_08

修改子模块间的引用

service引用model模块:

springboot多模块服务 model里面寻找main方法 springboot项目多模块_spring_09


model模块没有引用其他子模块,不动。

至此,service子模块和model子模块src/main下的java和resource还是空的。

5、添加启动类,配置文件

经过上面3步后,父工程,model模块,service模块均是空的,springboot的启动类需要手动创建一个,也可以把第1步创建父工程时的启动类移到service模块中。

启动类

springboot多模块服务 model里面寻找main方法 springboot项目多模块_mybatis_10

package com.hupean.flanker;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

/**
 * @author hupean
 * @Description 启动类
 * @createTime 2022-09-05 23:15:00
 */
@SpringBootApplication
@EnableScheduling
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

配置文件

配置文件采用application.properties,加上数据库连接配置以及mybatis配置文件路径

springboot多模块服务 model里面寻找main方法 springboot项目多模块_spring_11


至此,工程已可以通过启动类启动…

application.properties样例:

# 配置文件
#spring.profiles.active=dev

# encoding
server.servlet.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8
server.servlet.encoding.force=true
server.servlet.encoding.charset=utf-8

# port
server.port=18080

# mysql
spring.datasource.url=jdbc:mysql://localhost:3306/hotDemo?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
# mysql驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# mybatis配置文件
mybatis.config-location=classpath:mybatis/mybatis-config.xml

6、添加数据库操作

src/main/java下创建dao文件夹存放mapper.java文件。

src/main/resource下创建mapper文件夹存放mapper.xml文件

springboot多模块服务 model里面寻找main方法 springboot项目多模块_spring_12

mybatis-config.xml

springboot多模块服务 model里面寻找main方法 springboot项目多模块_java_13

7、运行启动类,编写测试方法

在这里采用执行定时任务去数据库查数据,来测试服务启动是否正常

springboot多模块服务 model里面寻找main方法 springboot项目多模块_spring_14


启动正常,数据库查询正常返回PS:idea创建的多模块(父子)项目,右侧maven不显示树形结构?

A:右击右侧的“maven”标签。勾选“group modules”即可展示层级关系

springboot多模块服务 model里面寻找main方法 springboot项目多模块_mysql_15