2019独角兽企业重金招聘Python工程师标准>>>

第一步 :创建父maven 模块,新建一个spring boot项目

父类pom.xml

<?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><!-- 聚合子模块 --><modules><module>web</module><module>dao</module><module>generate</module><module>service</module><module>dao</module><module>service</module><module>web</module><module>generate</module></modules><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><!-- 父模块信息--><groupId>com.hht</groupId><artifactId>multimodule</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><name>spring-boot-multi-module-demo</name><description>Demo project for Multi Module Spring Boot</description><!-- 公共信息--><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional><scope>provided</scope></dependency></dependencies></project>

第二步:只保留pom.xml文件,删除src文件,然后依次新增dao、service、web模块,我这里多加了一个 generate方便生成mybatis对象

这个是最顶级的目录结构

第三步:generate模块配置,这一步可以忽略从自己的现有的功能模块copy就好了

只需要两个文件,然后运行generateplugin就ok了

pom.xml

<?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"><parent><artifactId>multimodule</artifactId><groupId>com.hht</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>generate</artifactId><name>mybatis generate module</name><description> generate mybatis vo ,mapper and map.xml by database</description><build><plugins><!-- mybatis generator 自动生成代码插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><configuration><configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile><overwrite>true</overwrite><verbose>true</verbose></configuration></plugin></plugins></build></project>

generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration><!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包--><classPathEntry  location="D:\myeclipse_workspace\ucenter\WebRoot\WEB-INF\lib\mysql-connector-java-5.1.21.jar"/><context id="DB2Tables"  targetRuntime="MyBatis3"><commentGenerator><property name="suppressDate" value="true"/><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true"/></commentGenerator><!--数据库链接URL,用户名、密码 --><jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/datacenter" userId="root" password="root"></jdbcConnection><javaTypeResolver><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- 生成模型的包名和位置--><javaModelGenerator targetPackage="com.hht.model" targetProject="src/main/java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- 生成映射文件的包名和位置--><sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- 生成DAO的包名和位置--><javaClientGenerator type="XMLMAPPER" targetPackage="com.hht.mapper" targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--><table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table></context>
</generatorConfiguration>

最后生成三个文件

如果遇到问题,可以参考一下这一篇博客 https://my.oschina.net/haitaohu/blog/2966616

第四步:配置dao模块

pom.xml

<?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"><parent><artifactId>multimodule</artifactId><groupId>com.hht</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dao</artifactId><packaging>jar</packaging><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.46</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency></dependencies></project>

mybatis 相关的文件,从 generate生成的文件copy过来

DaoApplication文件

package com.hht;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @author hht* @ClassName DaoApplication* @Description TODO* @Date 2019/4/18 14:24* @VERSION 1.0*/
@SpringBootApplication
@MapperScan("com.hht.mapper")
public class DaoApplication {public static void main(String[] args) {SpringApplication application = new SpringApplication(DaoApplication.class);application.run(args);}
}

第五步:配置service

这个比较简单,依赖 dao就可以了

<?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"><parent><artifactId>multimodule</artifactId><groupId>com.hht</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>service</artifactId><dependencies><dependency><groupId>com.hht</groupId><artifactId>dao</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies>
</project>

Service实现

package com.hht.service;import com.hht.mapper.UserMapper;
import com.hht.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;/*** @author hht* @ClassName UserService* @Description TODO* @Date 2019/4/18 17:53* @VERSION 1.0*/
@Service
public class UserService {@Autowiredprivate UserMapper userMapper;public void saveUser(User user){userMapper.insert(user);}
}

最后一步:配置web模块

<?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"><parent><artifactId>multimodule</artifactId><groupId>com.hht</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>web</artifactId><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
</project>

pom.xml

<?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"><parent><artifactId>multimodule</artifactId><groupId>com.hht</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>web</artifactId><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.hht</groupId><artifactId>service</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies>
</project>

application.yml

server:port: 8081
spring:datasource:name: datacenterurl: jdbc:mysql://127.0.0.1:3306/datacenter?characterEncoding=utf8&useSSL=true&serverTimezone=UTCusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driverfilters: statmaxActive: 20initialSize: 1maxWait: 60000minIdle: 1timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000validationQuery: select 'x'testWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: truemaxOpenPreparedStatements: 20mybatis:mapper-locations: classpath:mapping/*.xml  #注意:一定要对应mapper映射xml文件的所在路径type-aliases-package: com.hht.datacenter.model  # 注意:对应实体类的路径

最后运行web项目成功

注意:这里只是记录多模块开发,并不是一个完善的生产模式,dao做了junit单模块测试,其它的没有加 可以自己加一下,参考代码

转载于:https://my.oschina.net/haitaohu/blog/3038834

idea 快速搭建spring boot 多模块项目(底部附源码)相关推荐

  1. Maven 搭建spring boot多模块项目(附源码)

    Maven 搭建spring boot多模块项目 备注:所有项目都在idea中创建 1.idea创建maven项目 1-1: 删除src,target目录,只保留pom.xml 1-2: 根目录pom ...

  2. 小程序+spring boot校园交友平台毕业设计-附源码191733

    摘  要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,校园交友小程序被用户普遍使用,为方便用户能够 ...

  3. (附源码)spring boot校园二手销售网站 附源码161417

    目 录 摘要 1 1 绪论 1 1.1 研究背景 1 1.2国内外研究现状 1 1.3论文结构与章节安排 1 2开发工具及相关技术介绍 技术介绍 3 2.1 MVVM模式介绍 3 2.2 B/S体系工 ...

  4. APP+spring boot学业指导系统 毕业设计-附源码030958

    基于Springboot的学业指导APP 摘要 建立.加强和完善学业指导工作是高等教育培养优秀毕业生的一项基础保障,也是提高学生专业学习质量和技能的有效机制,高等学校学业指导工作的开展还需要给予高度重 ...

  5. spring boot在线考试系统 毕业设计-附源码461317

    Springboot在线考试系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术 ...

  6. APP+spring boot校园购物网站 毕业设计-附源码041037

    springboot校园购物网站APP 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们 ...

  7. 小程序+spring boot校园二手交易平台 毕业设计-附源码191637

    Springboot校园二手交易平台小程序 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最 ...

  8. 快速开发架构Spring Boot 从入门到精通 附源码

  9. 小程序+spring boot宠物健康管理系统 毕业设计-附源码201738

    目  录 摘要 1 1 绪论 1 1.1研究背景 1 1.2开发现状 1 1.3系统开发技术的特色 1 1.4论文结构与章节安排 1 2宠物健康管理系统小程序系统分析 3 2.1 可行性分析 3 2. ...

最新文章

  1. loadrunner录制0事件_LoadRunner脚本异常捕获处理
  2. 剑指offer:字符流中第一个不重复的字符
  3. 包括 一个 20像素的黑条条
  4. 关于Opengl中将24位BMP图片加入�一个alpha通道并实现透明的问题
  5. 自顶向下 与自底向上解决01 背包问题
  6. Objective-C:三种文件导入的方式以及atomic和nonatomic的区别
  7. 鸿合一体机触屏没反应怎么办_无线鼠标没反应,我来教您无线鼠标没反应怎么办?...
  8. 【Thymeleaf】获取绝对路径
  9. 数据结构与算法之归并排序
  10. Oracle-索引分裂研究
  11. 运维之我的docker-Dockerfile构建镜像详情
  12. Eclipse/MyEclipse注释模板和格式化模板的使用
  13. [洛谷2674]瞿葩的数字游戏-多边形数 题解
  14. 让A超链接无效的办法 阻止元素发生默认的行为
  15. pdf介绍及pdf相关软件(内容来自百度百科)
  16. orcad 连mysql_OrCAD Capture CIS元件库用mysql数据库
  17. TeamCity Angent 配置(Ubuntu)
  18. 将海康摄像机发布萤石云指南
  19. vba 添加outlook 签名_如何在Outlook中添加默认签名
  20. arXiv,30 岁生日快乐!它的诞生,始于一个​被塞满的邮箱

热门文章

  1. python json.loads()中文问题-解决Python下json.loads()中文字符出错的问题
  2. python与excel的区别-python比较两个excel表格的差异
  3. Opengl-面剔除(一种优化方式)
  4. 川大计算机考研2020招生数,四川大学等大学,2020年研究生招生简章发布,这3个信息很重要!...
  5. Java布尔类的compareTo()
  6. JSR338(Java Persistence)
  7. python中的切片和join的妙用
  8. java判断一个单向链表是否有环路
  9. Redis 5种数据结构
  10. [知识复习] 结构体以及结构体指针