比起传统复杂的单体工程,使用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. Asp.net MVC 控制器ActionResult的例子

    ActionResult 父类型 ViewResult View() 多重载应用 PartialViewResult PartialView() 部分试图 New EmptyResult()  空 如 ...

  2. (转) Read-through: Wasserstein GAN

    Sorta Insightful Reviews Projects Archive Research About  In a world where everyone has opinions, on ...

  3. Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记

    Perceptual Losses for Real-Time Style Transfer and Super-Resolution and Super-Resolution 论文笔记 ECCV 2 ...

  4. 解决win7的outlook打不开的问题

    outlook打不开,一直显示正在处理 解决方法: 1. 按住Ctrl,双击打开组件,会提示是否进入安全模式, 进入安全模式 2. 单击Outlook中的文件-选项-加载项- 左下角的“COM加载项“ ...

  5. Ubuntu 安装 matplotlib

    参考: ubuntu16 安装matplotlib Ubuntu 安装 matplotlib sudo apt-get install libpng-dev libfreetype6-dev pkg- ...

  6. JavaScript 调试常见报错以及原因

    JavaScript 调试常见报错以及原因 测试环境 chrome 版本 66.0.3359.170(正式版本) (64 位) TypeError 类型错误 不是操作符所接受的数据类型. //---- ...

  7. 自定义标签TLD文件中,rtexprvalue子标签的意思

    rtexprvalue的全称是 Run-time Expression Value, 它用于表示是否能够利用JSP表达式. 举例子: 1.定义一个TLD文件: <tag> <name ...

  8. 用Let's Encrypt实现Https(Windows环境+Tomcat+Java)

    补充1: 已解决20的部分问题,移步这里 单域名下多子域名同时认证HTTPS 补充2: 之前忘了说了,我这个方法只对Tomcat7.0以上有用(要不然就是8.0...) 我自己用的是9.0 原因好像是 ...

  9. 【抓包】【Charles】

    Mac抓包神器-----Charles Charles 是一款Mac上的HTTP代理服务器.HTTP监视器.反向代理服务器,可以让开发者监视查看所有连接互联网的HTTP通信,包括请求,响应和HTTP头 ...

  10. synchronized和volatile

    迄今为止,看到的最清楚的一篇: https://zhuanlan.zhihu.com/p/29866981 volatile https://zhuanlan.zhihu.com/p/34362413