SpringBoot非官方教程 | 第二十二篇: 创建含有多module的springboot工程

100人阅读 评论(0) 收藏 举报
分类:

转载请标明出处: 
http://blog.csdn.net/forezp/article/details/71024153 
本文出自方志朋的博客

这篇文章主要介绍如何在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>
	<modules>
		<module>libary</module>
		<module>application</module>
	</modules>
</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 {
    @Bean
    public Service service(ServiceProperties properties) {
        return new Service(properties.getMessage());
    }
}

创建一个springboot工程

引入相应的依赖,创建一个web服务:

@SpringBootApplication
@Import(ServiceConfiguration.class)
@RestController
public class DemoApplication {

    private final Service service;

    @Autowired
    public 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创建maven多模块项目(实战)

SpringBoot创建maven多模块项目(实战) 工作中一直都是一个人奋战一人一个项目,使用maven管理,看这个也挺好,但是总感觉没有充分发挥maven的功能,于是研究了一下这个,网上关于这...
  • Message_lx
  • Message_lx
  • 2017-01-20 17:54:57
  • 33861

Java 开发基于Zookeeper,Spring,vue.js的高并发多用户模块化微信商城系统(四) Java微框架Spring Boot的应用

一、简介从最初学习Java这门语言开始,就已经开始接触Spring。在过去的一段时间里,Spring Boot在社区中热度一直很高。Spring Boot不是一门新技术,从本质上来说,Spring B...
  • yanglinjingshu
  • yanglinjingshu
  • 2017-08-14 15:07:51
  • 2719

springboot多模块(modules)开发

历史上的今天,那是在我国古代的这一天,蒙古人铁木真中年得了一种因脱发导致变成秃头的不治之症,因为之前从为见过此病例,所以便以铁木真的名字来命名此病,也就是现在大家都知道的“老铁没毛病”。 为何模块开发...
  • qqHJQS
  • qqHJQS
  • 2017-04-01 10:40:01
  • 17013

Maven构建一个多模块的Spring Boot + Spring MVC项目,完全基于java config

使用Maven构建一个多模块的Spring MVC + Spring Boot项目,完全基于java config 一、新建一个maven项目,模板使用quickstart,项目名multib...
  • luenxin
  • luenxin
  • 2015-11-27 13:07:50
  • 26567

Springboot+Maven多模块开发 (一)初始化工程(新建第一个web工程)

Springboot+maven多模块开发笔记
  • buyi_
  • buyi_
  • 2016-05-02 22:33:10
  • 26646

springboot构建web项目的集群部署之路

最近搞了个springboot构建的bbs项目,项目整体是从github上面clone的,到本地做了一些环境移植,最后部署到linux环境下,部署2个节点,算是一个集群。期间踩坑无数,这里记录一下,以...
  • swust_wangyubo
  • swust_wangyubo
  • 2018-04-19 17:27:58
  • 13

IDEA创建基于springboot的多个module聚合项目,并生成war包

背景:最近公司在做一个基于springboot的景区管理系统,项目前期将所有的功能都做到了一个项目里,现在客户需要把前台售票和后台管理分别部署到两个域名下,本人负责拆分项目,决定使用idea创建两个p...
  • zhang_ming_xuan
  • zhang_ming_xuan
  • 2017-11-23 18:55:12
  • 2571

Springboot整合dubbo构建maven多模块项目(四) - 集成mybatis

完整代码下载:http://download.csdn.net/download/liyanlei5858/10206852在Springboot整合dubbo构建maven多模块项目(三) - 把s...
  • liyanlei5858
  • liyanlei5858
  • 2018-01-15 18:15:38
  • 503

spring boot -- 多个spring boot 项目部署到同一个web 容器

报错:信息: Deploying web application archive D:\apache-tomcat-7.0.76\webapps\FarmerHomeOA.war 六月 05, 201...
  • licheng989
  • licheng989
  • 2017-06-05 18:07:33
  • 2333

idea中将多个spring boot项目放在一个maven项目中

现在的项目都开始用spring boot来构建了,用spring boot的最大好处就是默认我们什么都不用配置,就可以使用spring,而且可以独立启动,不需要web容器。现在的项目好多都是微服务的模...
  • lwj_199011
  • lwj_199011
  • 2017-01-05 10:59:20
  • 7213
    个人资料
    等级:
    访问量: 934
    积分: 175
    排名: 104万+
    文章存档