比起传统复杂的单体工程,使用Maven的多模块配置,可以帮助项目划分模块,鼓励重用,防止POM变得过于庞大,方便某个模块的构建,而不用每次都构建整个项目,并且使得针对某个模块的特殊控制更为方便。接下来,本文将重点阐述SpringBoot在Maven环境的多模块构建过程。

第一步:创建父工程

使用spring Tool Suite的童鞋可以直接new一个spring starter project;使用idea和eclipse童鞋可以通过插件使用 Spring Initializr,快速创建springboot工程;

然后去掉,无关紧要的东西留下pom文件就好了,这样父工程就创建好了;

第二步:给父工程添加pom文件配置:

<?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"> <!-- 基本信息 -->
<description>SpringBoot 多模块构建示例</description>
<modelVersion>4.0.0</modelVersion>
<name>boot-polymer</name>
<packaging>pom</packaging> <!-- 项目说明:这里作为聚合工程的父工程 -->
<groupId>com.polymer</groupId>
<artifactId>boot-polymer</artifactId>
<version>1.0.0.RELEASE</version> <!-- 继承说明:这里继承SpringBoot提供的父工程 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent> <!-- 模块说明:这里声明多个子模块 -->
<modules>
<module>boot-polymer-web</module>
<module>boot-polymer-service</module>
<module>boot-polymer-repository</module>
<module>boot-polymer-entity</module>
<module>boot-polymer-common</module>
</modules> <properties>
<java.version>1.8</java.version>
</properties> <dependencyManagement>
<dependencies>
<dependency>
<groupId>com.polymerization</groupId>
<artifactId>boot-polymer-web</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.polymerization</groupId>
<artifactId>boot-polymer-service</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.polymerization</groupId>
<artifactId>boot-polymer-repository</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.polymerization</groupId>
<artifactId>boot-polymer-entity</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.polymerization</groupId>
<artifactId>boot-polymer-common</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement> </project>

第三步;创建子工程

右击父工程->new ->maven module->创建选择jar->全部创建jar包工程,别创建war包否则你就别用springboot,不要问为什么

第四步:测试工程是否能启动

首先在boot-polymer-web工程添加pom配置

<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>
<parent>
<groupId>com.polymer</groupId>
<artifactId>boot-polymer</artifactId>
<version>1.0.0.RELEASE</version>
</parent>
<artifactId>boot-polymer-web</artifactId> <dependencies>
<dependency>
<groupId>com.polymer</groupId>
<artifactId>boot-polymer-service</artifactId>
</dependency>
<dependency>
<groupId>com.polymer</groupId>
<artifactId>boot-polymer-repository</artifactId>
</dependency>
<dependency>
<groupId>com.polymer</groupId>
<artifactId>boot-polymer-entity</artifactId>
</dependency>
<dependency>
<groupId>com.polymer</groupId>
<artifactId>boot-polymer-common</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

然后再web项目下新建一个启动类:

package com.polymer.app;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; @RestController
@SpringBootApplication //Spring Boot核心注解,用于开启自动配置
public class StartApplication {
//程序可以直接在此启动
@RequestMapping("/")
String index(){
return "ok";
} public static void main(String[] args) {
SpringApplication.run(StartApplication.class, args);
} public void addResourceHandlers(ResourceHandlerRegistry registry) {
//配置静态资源处理
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/META-INF/")
.addResourceLocations("classpath:/hospitalpay");
}
}

然后run  as application——》

看到这个就表示启动成功了;然后再去访问一下

成功了;

创建springboot的聚合工程(一)的更多相关文章

  1. 创建springboot的聚合工程(二)

    前篇已经成功创建了springboot的聚合工程并成功访问,下面就要开始子工程木块之间的调用: springboot项目的特点,一个工程下面的类必须要放在启动类下面的子目录下面,否则,启动的时候会报错 ...

  2. 创建springboot的聚合工程(三)

    springboot聚合工程之添加mybatis数据库持久化操作 在boot-polymer-repository工程添加mybatis的相关依赖 <project xmlns="ht ...

  3. spring boot创建多模块聚合工程

    环境:java1.8,idea 聚合工程优势: 1.统一maven操作.可以在一个maven工程管理多个子工程(每个子工程可单独打包,重启,调试.也可通过聚合工程一起管理). 2.统一管理依赖版本.可 ...

  4. 采用idea创建springboot mybatis web工程

    idea是一款强大的利器,最近公司换成采用springboot在eclipse上开发,因为idea的强大,故而,学习一下该利器,搭建springboot的web工程,在下面练习使用. 一.创建spri ...

  5. IDEA中创建父子工程与maven打包Springboot聚合工程报错程序包不存在问题处理

    公司新项目需使用java技术栈,便使用IDEA搭建了一个多SpringBoot项目的聚合工程,因为初次使用,遇到了很多问题,maven打包时各种报错,在网上查了好多终于解决了,为巩固记忆,特作此记录. ...

  6. Maven 聚合工程的创建

    简单场景举例 聚合工程创建示例 说明: 创建 Maven Project:表示创建 maven 项目,new Project 方式创建 创建 Maven Module:表示创建 maven 项目,ne ...

  7. SpringBoot(一):使用eclipse/idea创建springboot helloword工程

    eclipse如何创建spring boot工程: 第一步:首先打开eclipse,找到图中的下图的中“下三角”符号,选中"working sets"(表示将会把eclipse中的 ...

  8. 使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化

    一.创建一个空的项目作为存放整个项目的路径 1.选择 File——>new——>Project ——>Empty Project 2.WorkspaceforTest为项目存放文件夹 ...

  9. idea创建web聚合工程(2)

    参考文档: intelj idea 创建聚合项目(典型web项目,包括子项目util.dao.service) 使用IntelliJ IDEA创建Maven聚合工程.创建resources文件夹.ss ...

随机推荐

  1. 怎么用mybatis

    一般mybatis的用法.mapper-spring-boot-starter  + PageHelper分页插件. 1,PageHelper分页插件 . https://blog.csdn.net/ ...

  2. slot是标签的内容扩展,也就是说你用slot就可以在自定义组件时传递给组件内容,组件接收内容并输出

    html 父页面<div id="app"> <register> <span slot="name">{{message. ...

  3. 使用python+ffmpeg+youtube-dl下载youtube上的视频

    一.准备工作 1.安装python,详见https://www.cnblogs.com/cnwuchao/p/10562416.html 2.安装ffmpeg,详见https://www.cnblog ...

  4. 洛谷P2782 友好城市 DP

    やはり まだあしたということは嘘でしょう.ぜんぶ忘れた( ´・ヮ・`) 所以今天就贴一道水题吧 原题>>https://www.luogu.org/problem/show?pid=278 ...

  5. vim命令详解

    VIM编辑常用技巧 vim编辑器 简介: vi: Visual Interface,文本编辑器 文本:ASCII, Unicode 文本编辑种类: 行编辑器: sed 全屏编辑器:nano, vi V ...

  6. React Native 异步存储

    异步存储 http://blog.csdn.net/yulianlin/article/details/52473456

  7. 关于页面的跳转添加参数(比如id啥的)

    最近一些新手老是问我一些关于页面之间的传递跳转,怎么带参数这件事,(比如说一个列表页到详情页面数据是怎么传输的),今个没事就在这说一些! 这里拿列表页面到详情页面来阐述下哈! 首先在列表页,我们通过a ...

  8. SqlServer中常常搞不清楚 sp_columns来看一看

    The sp_columns catalog stored procedure is equivalent to SQLColumns in ODBC. The results returned ar ...

  9. ip字符串,二进制转十进制输出

    题目: 输入: 第一行输入字符串个数n,余下几行输入ip二进制字符串 输出: 按*.*.*.*格式输出十进制ip 代码实现: package ip; import java.util.Scanner; ...

  10. git批量删除文件和批量提交

    1. 单个删除文件: ① 通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:(可选操作,可直接执行②删除) $ rm test.txt ② 确实要从版本库中删除该文件,那就用命令git rm ...