SpringBoot第二十二篇: 创建含有多module的springboot工程
这篇文章主要介绍如何在springboot中如何创建含有多个module的工程,栗子中含有两个 module,一个作为libarary. 工程,另外一个是主工程,调用libary .其中libary jar有一个服务,main工程调用这个服务。
创建根工程
创建一个maven 工程,其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"><modelVersion>4.0.0</modelVersion><groupId>com.forezp</groupId><artifactId>springboot-multi-module</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><name>springboot-multi-module</name><description>Demo project for Spring Boot</description></project>
需要注意的是packaging标签为pom 属性。
创建libary工程
libary工程为maven工程,其pom文件的packaging标签为jar 属性。创建一个service组件,它读取配置文件的 service.message属性。
@ConfigurationProperties("service")
public class ServiceProperties {/*** A message for the service.*/private String message;public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}
}
提供一个对外暴露的方法:
@Configuration
@EnableConfigurationProperties(ServiceProperties.class)
public class ServiceConfiguration {@Beanpublic Service service(ServiceProperties properties) {return new Service(properties.getMessage());}
}
创建一个springbot工程
引入相应的依赖,创建一个web服务:
@SpringBootApplication
@Import(ServiceConfiguration.class)
@RestController
public class DemoApplication {private final Service service;@Autowiredpublic DemoApplication(Service service) {this.service = service;}@GetMapping("/")public String home() {return service.message();}public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}
}
在配置文件application.properties中加入:
service.message=Hello World
打开浏览器访问:http://localhost:8080/;浏览器显示:
Hello World
说明确实引用了libary中的方法。
参考资料
https://spring.io/guides/gs/multi-module/
源码下载
https://github.com/forezp/SpringBootLearning
SpringBoot第二十二篇: 创建含有多module的springboot工程相关推荐
- Java springcloud B2B2C o2o多用户商城 springcloud架构 (二十二)创建含有多module的springboot工程...
这篇文章主要介绍如何在springboot中如何创建含有多个module的工程,栗子中含有两个 module,一个作为libarary. 工程,另外一个是主工程,调用libary .其中libary ...
- SpringBoot第二十五篇:2小时学会springboot
一.什么是spring boot Takes an opinionated view of building production-ready Spring applications. Spring ...
- SpringBoot第二十四篇: springboot整合docker
这篇文篇介绍,怎么为 springboot程序构建一个docker镜像.docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的 ...
- 第二十二篇玩转【斗鱼直播APP】系列之弹出房间界面
弹出房间界面 功能说明 区分弹出秀场&普通房间 如果用户是秀场直播,那么弹出秀场房间界面 如果用户是电脑直播,那么弹出普通房间界面 秀场界面弹出 直接以Model方式,从底部弹出即可 普通界面 ...
- 【手写 Vue2.x 源码】第二十二篇 - dep 和 watcher 关联
一,前言 上篇,主要介绍了 Vue 依赖收集的过程分析: 介绍了 Vue 的响应式特性 介绍了 Vue 的依赖收集过程 介绍了 dep 和 watcher 以及观察者模式: 本篇,Vue 依赖收集的实 ...
- 【C++笔记】第二十二篇 STL
C++的STL 1. STL 1.1 STL诞生 ① 长久以来,软件界一直希望建立一种可重复利用的东西. ② C++的面向对象和泛型编程思想,目的就是复用性的提升. ③ 大多数情况下,数据结构和算法都 ...
- SpringBoot第十二篇:springboot集成apidoc
首先声明下,apidoc是基于注释来生成文档的,它不基于任何框架,而且支持大多数编程语言,为了springboot系列的完整性,所以标了个题. 一.apidoc简介 apidoc通过在你代码的注释来生 ...
- js 浅拷贝直接赋值_第二十二篇 JS中浅拷贝的方法有哪些?
重要:什么是拷贝?之前也写过类似的文章,大家可以看<理解js的深拷贝和浅拷贝原理和实现的方法> 首先来直观的感受一下什么是拷贝. let arr = [1, 2, 3]; let newA ...
- Python之路【第二十二篇】:Django之Model操作
Django之Model操作 一.字段 AutoField(Field)- int自增列,必须填入参数 primary_key=TrueBigAutoField(AutoField)- bigint自 ...
最新文章
- redis3.2的安装和使用
- 古剑奇谭二服务器维护,《古剑奇谭二》10月4日例行维护更新公告
- 关于I2C协议和SPI协议学习之中的补充修改
- 时间序列预测——线性回归(上下界、异常检测),异常检测时候历史数据的输入选择是关键,使用过去历史值增加模型健壮性...
- 天津工业大学19年计算机考研大纲,2019年天津工业大学《计算机原理及接口技术》考研复试大纲...
- 连接MySQL和连接文件夹区别,对数据库连接问题的一点总结
- java零碎要点---大型软件部署方案,磁盘阵列,raid提升硬盘性能,解决由于集群带来的文件共享问题
- Integer 与 int 中的 ==
- 05_android入门_GET方式实现登陆(在控件上显示服务端返回的内容)
- JavaEE学习13--Jquery
- Chapter 1 MIMO无线通信系统发展
- 阿铭Linux_网站维护学习笔记20190417
- cuda the launch timed out and was terminated windows11解决方案 关闭TDR
- iMazing安装教程 v2.11.7pjb
- 2020大疆校招B卷第三题
- Python - PyQT5开发UI界面 - 环境搭建
- 5.1劳动节|致敬每一位数字安全劳动者
- SSM——SpringMVC
- beyond compare下载安装及使用教程
- 正则表达式匹配连续相同字符,如...aaa..bbb...11111...2222...
热门文章
- 大数据【四】MapReduce(单词计数;二次排序;计数器;join;分布式缓存)
- WinCE 7 Mouse HOOK
- Vcastr 2.2 flv 网络播放器 参数设置
- 与14级团队同学的约定
- U盘中毒了?教你如何删除System Volume Information这个顽固文件夹
- 又一起“删库”:链家程序员怒删公司 9TB 数据,被判 7 年
- TensorFlow官方课程开启,机器学习上车吧
- 百度飞桨全新升级:重磅推出PaddleHelix平台、开源框架V2.0RC,硬件生态路线图全公开...
- 免费直播:1小时带你体验Python车牌识别实战
- Excel弱爆了!这个工具30分钟完成了我一天的工作量,零基础、文科生也能学!...